利用Java Mail发送邮件的代码
发布时间:2020-05-24 21:28:31 所属栏目:Java 来源:互联网
导读:利用Java Mail发送邮件的代码
|
下面是脚本之家 jb51.cc 通过网络收集整理的代码片段。 脚本之家小编现在分享给大家,也给大家做个参考。 import java.util.Properties;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeUtility;
import org.apache.commons.lang.StringUtils;
public class MailUtil {
private MimeMessage message;
private Session session;
private Transport transport;
private String smtpHost = "";
private int smtpPort = 25;
private String senderUserName = "";
private String senderPassword = "";
public MailUtil(Properties properties,boolean debug) {
this.smtpHost = properties.getProperty("mail.smtp.host");
this.smtpPort = Integer.parseInt(properties.getProperty("mail.smtp.port"));
this.senderUserName = properties.getProperty("mail.sender.username");
this.senderPassword = properties.getProperty("mail.sender.password");
session = Session.getInstance(properties);
session.setDebug(debug);//开启后有调试信息
message = new MimeMessage(session);
}
/**
* 发送邮件
*
* @param subject 邮件主题
* @param mailBody 邮件内容
* @param senderNickName 发件人NickName
* @param receiveUser 收件人地址
* @param ccReceiveUser 抄送地址
* @param bccReceiveUser 密送地址
*/
public void sendEmail(String subject,String mailBody,String senderNickName,String receiveUser,String ccReceiveUser,String bccReceiveUser,Boolean isHtmlFormat) {
try {
// 发件人
InternetAddress from = null;
if (StringUtils.isEmpty(senderNickName)) {
from = new InternetAddress(senderUserName);
} else {
from = new InternetAddress(MimeUtility.encodeWord(senderNickName) + " <" + senderUserName + ">");
}
message.setFrom(from);
// 收件人
InternetAddress to = new InternetAddress(receiveUser);
message.setRecipient(Message.RecipientType.TO,to);
//抄送人
if (!StringUtils.isEmpty(ccReceiveUser)) {
InternetAddress cc = new InternetAddress(ccReceiveUser);
message.setRecipient(Message.RecipientType.CC,cc);
}
//密送人
if (!StringUtils.isEmpty(bccReceiveUser)) {
InternetAddress bcc = new InternetAddress(bccReceiveUser);
message.setRecipient(Message.RecipientType.BCC,bcc);
}
message.setSubject(subject);
String content = mailBody.toString();
if (isHtmlFormat) {
message.setContent(content,"text/html;charset=UTF-8");
} else {
message.setContent(content,"text/plain;charset=UTF-8");
}
message.saveChanges();
transport = session.getTransport("smtp");
transport.connect(smtpHost,smtpPort,senderUserName,senderPassword);
transport.sendMessage(message,message.getAllRecipients());
} catch (Exception e) {
e.printStackTrace();
} finally {
if (transport != null) {
try {
transport.close();
} catch (MessagingException e) {
e.printStackTrace();
}
}
}
}
public static void main(String[] args) {
Properties properties = new Properties();
properties.setProperty("mail.smtp.host","smtp.sina.com");
properties.setProperty("mail.smtp.port","25");
properties.setProperty("mail.smtp.auth","true");
properties.setProperty("mail.sender.username","XXXXXXXXX");
properties.setProperty("mail.sender.password","XXXXXXXXX");
MailUtil mailUtil = new MailUtil(properties,false);
}
}
以上是脚本之家(jb51.cc)为你收集整理的全部代码内容,希望文章能够帮你解决所遇到的程序开发问题。 如果觉得脚本之家网站内容还不错,欢迎将脚本之家网站推荐给程序员好友。 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
