首先固然是到官網去下載javamail的jar包了;放置到工程中html
接下來固然就是代碼了,下面是我本身寫的一個demo,java
package com.mail;服務器
import java.util.Date;
import java.util.Properties;session
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.BodyPart;
import javax.mail.Message;
import javax.mail.Multipart;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;編碼
public class TestMail {
private static String affix = ""; // 附件地址
private static String affixName = ""; // 附件名稱
public static void sendMail(String fromMail, String user, String password,
String toMail,
String mailTitle,
String mailContent) throws Exception {
Properties pro = new Properties(); //能夠加載一個配置文件
// 使用smtp:簡單郵件傳輸協議
String smtpHostName = "smtp." + fromMail.split("@")[1];
pro.put("mail.smtp.host", smtpHostName);//存儲發送郵件服務器的信息
pro.put("mail.smtp.auth", "true");//同時經過驗證
Session session = Session.getInstance(pro);//根據屬性新建一個郵件會話
session.setDebug(true); //有他會打印一些調試信息。
MimeMessage message = new MimeMessage(session);//由郵件會話新建一個消息對象
message.setFrom(new InternetAddress(fromMail));//設置發件人的地址
message.setRecipient(Message.RecipientType.TO, new InternetAddress(toMail));//設置收件人,並設置其接收類型爲TO
message.setSubject(mailTitle);//設置標題
//設置信件內容
// 向multipart對象中添加郵件的各個部份內容,包括文本內容和附件
Multipart multipart = new MimeMultipart();調試
// 設置郵件的文本內容
BodyPart contentPart = new MimeBodyPart();
contentPart.setText("郵件的具體內容在此");
multipart.addBodyPart(contentPart);
// 添加附件
BodyPart messageBodyPart = new MimeBodyPart();
DataSource source = new FileDataSource(affix);
// 添加附件的內容
messageBodyPart.setDataHandler(new DataHandler(source));
// 添加附件的標題
// 這裏很重要,經過下面的MimeUtility編碼的轉換能夠保證你的中文附件標題名在發送時不會變成亂碼
messageBodyPart.setFileName(MimeUtility.encodeText(affixName));
multipart.addBodyPart(messageBodyPart);
message.setContent(multipart);
// message.setText(mailContent); //發送 純文本 郵件 todo
// message.setContent(mailContent, "text/html;charset=gbk"); //發送HTML郵件,內容樣式比較豐富
message.setSentDate(new Date());//設置發信時間
message.saveChanges();//存儲郵件信息
//發送郵件
Transport transport = session.getTransport("smtp");
// Transport transport = session.getTransport();
transport.connect(user, password); //這裏的密碼多是發件人的登陸密碼,也多是對應郵箱服務器的受權碼
transport.sendMessage(message, message.getAllRecipients());//發送郵件,其中第二個參數是全部已設好的收件人地址
transport.close();
}
public static void main(String[] args) throws Exception {
sendMail("", "", "", "", "", "");
}
}code
若有幫助,不勝榮幸;htm