java邮件发送

<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4</version>
</dependency>


public class CommonServiceImpl implements CommonService {

    @Override
    public void sendEmail(String userName,String password,String fromEmail,String toEmail,String subject,String content) {
        if("".equals(toEmail) || null == toEmail){
            return;
        }
        MailUtils mail = new MailUtils();
        mail.setHost("mail.hoolai.com");
        mail.setUserName(userName);
        mail.setPassWord(password);
        mail.setFrom(fromEmail);
        mail.setTo(toEmail);
        mail.setSubject(subject);
        mail.setContent(content);
        mail.sendMail();
    }
}


public class MailUtils {

	String to = "";// 收件人
	String from = "";// 发件人
	String host = "";// smtp主机
	String username = "";
	String password = "";
	String subject = "";// 邮件主题
	String content = "";// 邮件正文
	List<String> attachPathList = new ArrayList<String>();// 附件文件名列表

	/**
	 * 
	 * @Title:MailUtils
	 * @Description:默认构造器
	 */
	public MailUtils() {
	}

	/**
	 * 
	 * @Title:MailUtils
	 * @Description:构造器,提供直接的参数传入
	 * @param to 目标
	 * @param from 来自
	 * @param smtpServer 邮件服务器
	 * @param username 发件人帐户名
	 * @param password 发件人密码
	 * @param subject 主题
	 * @param content 内容
	 */
	public MailUtils(String to, String from, String smtpServer,
			String username, String password, String subject, String content) {
		this.to = to;
		this.from = from;
		this.host = smtpServer;
		this.username = username;
		this.password = password;
		this.subject = subject;
		this.content = content;
	}

	/**
	 * 
	 * @Title: setHost
	 * @Description: 设置邮件服务器地址
	 * @param host
	 * @return: void
	 */
	public void setHost(String host) {
		this.host = host;
	}

	/**
	 * 
	 * @Title: setPassWord
	 * @Description: 设置登录服务器校验密码
	 * @param pwd
	 * @return: void
	 */
	public void setPassWord(String pwd) {
		this.password = pwd;
	}

	/**
	 * 
	 * @Title: setUserName
	 * @Description: 设置登录服务器校验用户
	 * @param usn
	 * @return: void
	 */
	public void setUserName(String usn) {
		this.username = usn;
	}

	/**
	 * 
	 * @Title: setTo
	 * @Description: 设置邮件发送目的邮箱
	 * @param to
	 * @return: void
	 */
	public void setTo(String to) {
		this.to = to;
	}

	/**
	 * 
	 * @Title: setFrom
	 * @Description: 设置邮件发送源邮箱
	 * @param from
	 * @return: void
	 */
	public void setFrom(String from) {
		this.from = from;
	}

	/**
	 * 
	 * @Title: setSubject
	 * @Description: 设置邮件主题
	 * @param subject
	 * @return: void
	 */
	public void setSubject(String subject) {
		this.subject = subject;
	}

	/**
	 * 
	 * @Title: setContent
	 * @Description: 设置邮件内容
	 * @param content
	 * @return: void
	 */
	public void setContent(String content) {
		this.content = content;
	}
	
	/** 
	 * 
	 * @Title: addAttachfile
	 * @Description: 添加附件
	 * @param filename
	 * @return: void
	 */  
	public boolean addAttachfile(String filename) {
		if (new File(filename).exists()) {
			attachPathList.add(filename);
			return true;
		}
		return false;
	}
	
	/**
	 * 
	 * @Title: transferChinese
	 * @Description: 把主题转换为中文
	 * @param strText
	 * @return: String
	 */
	public String transferChinese(String strText) {
		try {
			strText = MimeUtility.encodeText(new String(strText.getBytes(),
					"UTF-8"), "UTF-8", "B");
		} catch (Exception e) {
			e.printStackTrace();
		}
		return strText;
	}

	/**
	 * 
	 * @Title: sendMail
	 * @Description: 发送邮件
	 * @return: boolean
	 */
	public boolean sendMail() {

		// 构造mail session
		Properties props = new Properties() ;
		props.put("mail.smtp.host", host);
		props.put("mail.smtp.auth", "true");
		Session session = Session.getDefaultInstance(props,
				new Authenticator() {
					public PasswordAuthentication getPasswordAuthentication() {
						return new PasswordAuthentication(username, password);
					}
				});

		try {
			MimeMessage msg = new MimeMessage(session);
			msg.setFrom(new InternetAddress(from));
			msg.setRecipients(Message.RecipientType.BCC, InternetAddress.parse(to)) ;
			subject = transferChinese(subject);
			msg.setSubject(subject);

			Multipart mp = new MimeMultipart();

			MimeBodyPart mbpContent = new MimeBodyPart();
			mbpContent.setContent(content, "text/html;charset=gb2312");
			
			mp.addBodyPart(mbpContent);
			if(!attachPathList.isEmpty()) {
				for(String filename : attachPathList) {
					MimeBodyPart mbp = new MimeBodyPart();
					FileDataSource fds = new FileDataSource(filename);
					mbp.setDataHandler(new DataHandler(fds));
					mbp.setFileName(MimeUtility.encodeText(fds.getName()));
					mp.addBodyPart(mbp);
				}
				attachPathList.clear();
			}
			
			msg.setContent(mp);
			msg.setSentDate(new Date());
			msg.saveChanges() ;
			
			Transport transport = session.getTransport("smtp");
			transport.connect(host, username, password);
			transport.sendMessage(msg, msg.getAllRecipients());
			transport.close();
		} catch (Exception mex) {
			mex.printStackTrace();
			return false;
		}
		return true;
	}
}




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值