java发送outlook邮件_通过Java代码发送OutLook邮件
準備
我們想通過Java代碼實現(xiàn)發(fā)送OutLook郵件,必須準備以下材料:
OutLook郵箱
目標郵箱
查看OutLook郵箱信息
打開OutLook郵箱,在Settings中搜索或找到SMTP:
打開以下界面,拿到我們想要的數(shù)據(jù)(ServerName 以及 Port),如圖:
JAVA項目
使用Maven或者創(chuàng)建一個普通項目,選擇導(dǎo)入Maven依賴或?qū)雑ar包,我這里使用的是Maven創(chuàng)建的Java項目,所以我導(dǎo)入了以下依賴:
com.sun.mail
javax.mail
1.6.2
編寫發(fā)送代碼
復(fù)制或編寫以下代碼,理解以下代碼并不困難,我?guī)缀鯓俗⒘嗣恳恍写a:
public static boolean SendEmail(String sender,String password,String host,String port,String receiver)
{
try{
Properties props = new Properties();
// 開啟debug調(diào)試
props.setProperty("mail.debug", "true"); //false
// 發(fā)送服務(wù)器需要身份驗證
props.setProperty("mail.smtp.auth", "true");
// 設(shè)置郵件服務(wù)器主機名
props.setProperty("mail.host", host);
// 發(fā)送郵件協(xié)議名稱 這里使用的是smtp協(xié)議
props.setProperty("mail.transport.protocol", "smtp");
// 服務(wù)端口號
props.setProperty("mail.smtp.port", port);
props.put("mail.smtp.starttls.enable", "true");
// 設(shè)置環(huán)境信息
Session session = Session.getInstance(props);
// 創(chuàng)建郵件對象
MimeMessage msg = new MimeMessage(session);
// 設(shè)置發(fā)件人
msg.setFrom(new InternetAddress(sender));
// 設(shè)置收件人
msg.addRecipient(Message.RecipientType.TO, new InternetAddress(receiver));
// 設(shè)置郵件主題
msg.setSubject("this is subject");
// 設(shè)置郵件內(nèi)容
Multipart multipart = new MimeMultipart();
MimeBodyPart textPart = new MimeBodyPart();
//發(fā)送郵件的文本內(nèi)容
textPart.setText("this is the text");
multipart.addBodyPart(textPart);
// 添加附件
MimeBodyPart attachPart = new MimeBodyPart();
//可以選擇發(fā)送文件...
//DataSource source = new FileDataSource("C:\\Users\\36268\\Desktop\\WorkSpace\\MyApp\\Program.cs");
//attachPart.setDataHandler(new DataHandler(source));
//設(shè)置文件名
//attachPart.setFileName("Program.cs");
multipart.addBodyPart(attachPart);
msg.setContent(multipart);
Transport transport = session.getTransport();
// 連接郵件服務(wù)器
transport.connect(sender, password);
// 發(fā)送郵件
transport.sendMessage(msg, new Address[]{new InternetAddress(receiver)});
// 關(guān)閉連接
transport.close();
return true;
}catch( Exception e ){
e.printStackTrace();
return false;
}
}
運行方法
我這里直接使用main方法直接運行了(為了調(diào)試方便和更好的理解),如果是具體業(yè)務(wù),你應(yīng)該對這些代碼包括參數(shù)進行封裝:
public static void main(String[] args) {
String sender = "erosionzhu@outlook.com";
String password = ""; //填寫你的outlook帳戶的密碼
// 收件人郵箱地址
String receiver = "362687440@qq.com";
// office365 郵箱服務(wù)器地址及端口號
//這個就是之前的Server Name,注意:你使用的Outlook應(yīng)用可能使用了不同的服務(wù)器,根據(jù)自己剛才拿到的地址為準
String host = "smtp.office365.com";
String port = "587"; //這個就是拿到的port
boolean b = SendEmail(sender, password, host, port, receiver);
if(b)
{
System.out.println("發(fā)送成功");
}else
{
System.out.println("發(fā)送失敗");
}
}
總結(jié)
以上是生活随笔為你收集整理的java发送outlook邮件_通过Java代码发送OutLook邮件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 函数报错,PHP报错函数erro
- 下一篇: 2018java多线程面试题_2018年