JAVA MAIL 发送邮件

 

/**
	 * 发送邮件
	 * 
	 * @param email  邮件地址
	 * @param title  邮件标题
	 * @param content 邮件正文
	 * @param nickName
	 *  发件人显示昵称
	 */
	public void sendMail(String email, String title, String content, String nickName) {
		try {
			// 建立邮件会话
			Properties props = new Properties();
			// 存储发送邮件服务器的信息
			props.put("mail.smtp.host", mailServer);
			// 同时通过验证
			props.put("mail.smtp.auth", "true");
			// 根据属性新建一个邮件会话
			Session mailSession = Session.getInstance(props);
			// 由邮件会话新建一个消息对象
			MimeMessage message = new MimeMessage(mailSession);
			// 设置邮件
			String nick = javax.mail.internet.MimeUtility.encodeText(nickName);
			// 设置发件人的地址
			message.setFrom(new InternetAddress(nick + "<" + mailUserName + ">"));
			// 设置收件人,并设置其接收类型为TO
			InternetAddress to = new InternetAddress(email);
			message.setRecipient(Message.RecipientType.TO, to);
			// 设置标题
			message.setSubject(title);
			// 设置信件内容
			Multipart mp = new MimeMultipart();
			MimeBodyPart mbp1 = new MimeBodyPart();
			// 设置内容
			mbp1.setText(content);
			mp.addBodyPart(mbp1);
			// 设置附件
			message.setContent(mp, "text/html;charset=UTF-8");
			// 设置发信时间
			message.setSentDate(new Date());
			// 存储邮件信息
			message.saveChanges();
			// 发送邮件
			Transport transport = mailSession.getTransport("smtp");
			// 以smtp方式登录邮箱,第一个参数是发送邮件用的邮件服务器SMTP地址,第二个参数为用户名,第三个参数为密码
			transport.connect(mailServer, mailUserName, mailUserPwd);
			// 发送邮件,其中第二个参数是所有已设好的收件人地址
			transport.sendMessage(message, message.getAllRecipients());
		}
		catch (Exception e) {
			logger.error("给" + email + "发送邮件异常", e);
			e.printStackTrace();
		}
	}

 

你可能感兴趣的:(java,邮件,工具类)