工做中有java郵件發送 用了原生的javax.mail 分享一下html
// MailUtils
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.apache.ibatis.io.Resources;
public class MailUtils {
public static String sendMail(String title, String content, String ToAdress, String Toname, String fromName) {
String sendStatic = MailStatus.FAIL.getTitle();
try {
Properties propsMail = Resources.getResourceAsProperties("jdbc.properties");
String host = propsMail.getProperty("mailHost");
String port = propsMail.getProperty("mailPort");
/* * Properties是一個屬性對象,用來建立Session對象 */
Properties props = new Properties();
props.setProperty("mail.smtp.host", host);
props.setProperty("mail.smtp.port", port);
props.setProperty("mail.smtp.auth", "true");
props.setProperty("mail.smtp.ssl.enable", "false");// "true"
props.setProperty("mail.smtp.connectiontimeout", "5000");
final String user = propsMail.getProperty("mailUserName");// 用戶名
final String pwd = propsMail.getProperty("mailUserPass");// 密碼
/* * Session類定義了一個基本的郵件對話。 */
Session session = Session.getInstance(props, new Authenticator() {
@Override
protected PasswordAuthentication getPasswordAuthentication() {
// 登陸用戶名密碼
return new PasswordAuthentication(user, pwd);
}
});
session.setDebug(true);
/* * Transport類用來發送郵件。 傳入參數smtp,transport將自動按照smtp協議發送郵件。 */
Transport transport = session.getTransport("smtp");
transport.connect(host, user, pwd);
/* * Message對象用來儲存實際發送的電子郵件信息 */
MimeMessage message = new MimeMessage(session);
message.setSubject(title);
// 消息發送者接收者設置(發件地址,暱稱),收件人看到的暱稱是這裏設定的
message.setFrom(new InternetAddress(user, fromName));
message.addRecipients(Message.RecipientType.TO,
new InternetAddress[] { new InternetAddress(ToAdress, Toname), });
message.saveChanges();
// 設置郵件內容及編碼格式
// 後一個參數能夠不指定編碼,如"text/plain",可是將不能顯示中文字符
message.setContent(content, "text/html;charset=utf-8");
Transport.send(message);
transport.close();
sendStatic = MailStatus.SUCCESS.getTitle();
} catch (Exception e) {
sendStatic = MailStatus.FAIL.getTitle();
System.exit(0);
}
return sendStatic;
}
public static void main(String[] args) {
MailUtils ma = new MailUtils();
ma.sendMail("標題", "你好你的郵件", "xxxx@xxxx", "發送姓名", "系統提示");
System.exit(0);
}
}
複製代碼
public enum MailStatus {
SUCCESS("SUCCESS", "1"), FAIL("FAIL", "0");
// 成員變量
private String title;
private String content;
// 構造方法
private MailStatus(String title, String content) {
this.title = title;
this.content = content;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
}
複製代碼