spring 简单邮件发送

package org.sharpcode.util;

import java.io.File;
import java.util.Properties;
import javax.mail.internet.MimeMessage;
import org.springframework.core.io.FileSystemResource;
import org.springframework.mail.SimpleMailMessage;
import org.springframework.mail.javamail.JavaMailSenderImpl;
import org.springframework.mail.javamail.MimeMessageHelper;

/**
 * 
 * 发送邮件
 * */
public class SendMail {

	/**
	 * mail 简单邮件发送
	 * 
	 * */
	private String mailservicehost;
	private String mailaccount;
	private String mailusername;
	private String mailpassword;

	public void setMailservicehost(String mailservicehost) {
		this.mailservicehost = mailservicehost;
	}

	public void setMailaccount(String mailaccount) {
		this.mailaccount = mailaccount;
	}

	public void setMailusername(String mailusername) {
		this.mailusername = mailusername;
	}

	public void setMailpassword(String mailpassword) {
		this.mailpassword = mailpassword;
	}

	public void Sendtext(String usermail, String zhuti, String text)
			throws Exception {
		JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();
		// 设定mail server
		senderImpl.setHost(mailservicehost);
		// 建立邮件消息
		SimpleMailMessage mailMessage = new SimpleMailMessage();
		mailMessage.setTo(usermail); // 收件人
		mailMessage.setFrom(mailaccount);// 发件人
		mailMessage.setSubject(zhuti); // 主题
		mailMessage.setText(text); // 内容
		senderImpl.setUsername(mailusername); // 根据自己的情况,设置username
		senderImpl.setPassword(mailpassword); // 根据自己的情况,
		// 设置password
		Properties prop = new Properties();
		prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
		prop.put("mail.smtp.timeout", "25000");
		senderImpl.setJavaMailProperties(prop); // 发送邮件
		senderImpl.send(mailMessage);
	}

	/**
	 * 发送html邮件 usermail 收件人邮箱 zhuti 主题 html 内容
	 * */
	public void sendHtml(String usermail, String zhuti, String html)
			throws Exception {
		JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();

		// 设定mail server
		senderImpl.setHost(mailservicehost);

		// 建立邮件消息,发送简单邮件和html邮件的区别
		MimeMessage mailMessage = senderImpl.createMimeMessage();
		MimeMessageHelper messageHelper = new MimeMessageHelper(mailMessage,
				true, "utf-8");

		// 设置收件人,寄件人
		messageHelper.setTo(usermail);
		messageHelper.setFrom(mailaccount);
		messageHelper.setSubject(zhuti);
		// true 表示启动HTML格式的邮件
		messageHelper.setText(html, true);

		senderImpl.setUsername(mailusername); // 根据自己的情况,设置username
		senderImpl.setPassword(mailpassword); // 根据自己的情况,
		// 设置password
		Properties prop = new Properties();
		prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
		prop.put("mail.smtp.timeout", "25000");
		senderImpl.setJavaMailProperties(prop);
		// 发送邮件
		senderImpl.send(mailMessage);

		System.out.println("邮件发送成功..");

	}

	/**
	 * 
	 * 带附件的Email发送 收件人 标题 内容 文件路径 文件名
	 * */
	public void sendfile(String usermail, String title, String content,
			String filepath, String fileName) throws Exception {
		JavaMailSenderImpl senderImpl = new JavaMailSenderImpl();

		// 设定mail server
		senderImpl.setHost(mailservicehost);
		// 建立邮件消息,发送简单邮件和html邮件的区别
		MimeMessage mailMessage = senderImpl.createMimeMessage();
		// 注意这里的boolean,等于真的时候才能嵌套图片,在构建MimeMessageHelper时候,所给定的值是true表示启用,
		// multipart模式 为true时发送附件 可以设置html格式
		MimeMessageHelper messageHelper = null;
		messageHelper = new MimeMessageHelper(mailMessage, true, "utf-8");
		// 设置收件人,寄件人
		messageHelper.setTo(usermail);
		messageHelper.setFrom(mailaccount);
		messageHelper.setSubject(title); // 主题
		// true 表示启动HTML格式的邮件
		messageHelper.setText(content, true); // 内容
		FileSystemResource file = new FileSystemResource(new File(filepath));
		// 这里的方法调用和插入图片是不同的。
		messageHelper.addAttachment(fileName, file);
		senderImpl.setUsername(mailusername); // 根据自己的情况,设置username
		senderImpl.setPassword(mailpassword); // 根据自己的情况,
		// 设置password
		Properties prop = new Properties();
		prop.put("mail.smtp.auth", "true"); // 将这个参数设为true,让服务器进行认证,认证用户名和密码是否正确
		prop.put("mail.smtp.timeout", "25000");
		senderImpl.setJavaMailProperties(prop);
		// 发送邮件
		senderImpl.send(mailMessage);

	}
}

你可能感兴趣的:(spirng mail)