📄 mailserver.java
字号:
import javax.mail.*;
import javax.mail.internet.*;
import java.util.*;
import javax.activation.*;
class MailServer {
public MailServer(){}
public boolean sendMail(){
boolean debug = false;
//收件者、主旨、內文的設定
String[] To = {"xxxxxx@gmail.com","xxxxxx@pchome.com.tw","xxxxxx@yahoo.com.tw"};
String[] Cc = {"xxxxxx@hotmail.com"};
String[] Bcc = {"xxxxxx@xxxxxx.com.tw"};
String Subject = "測試信件,html內容含附檔"; //主旨
String sendMsgHtml = "<html><body>測試內容,我的姓名叫<h1>AJ</h1></body></html>"; //HTML內文
//郵件資訊設定
String From = "xxxxxx@xxxxxx.com.tw"; //發信人信箱
String Personal = "xxxxxx"; //發信人(顯示的文字)
String smtpServer = "xxxxxx.xxxxxx.xxxxxx.xxxxxx"; //Mail Server
String account = "xxxxxx"; //登入帳號
String passwd = "xxxxxx"; //登入密碼
//設定SMTP伺服器
Properties props = new Properties();
props.put("mail.smtp.host", smtpServer);
props.put("mail.smtp.port", "25");
props.put("mail.smtp.auth", "true"); //採用認證,因為使用外部smtp主機
props.put("mail.smtp.connectiontimeout","1000");
props.put("mail.smtp.timeout","2000");
Authenticator smtpAuthenticator = new SMTPAuthenticator(account, passwd);
//建立session
Session session = null;
MimeMessage msg = null;
try{
session = Session.getDefaultInstance(props, smtpAuthenticator);
session.setDebug(debug); //停止偵錯
//設定寄件者
msg = new MimeMessage(session); //建立新的MimeMessage物件
msg.setFrom(new InternetAddress(From,Personal,"Big5"));
//設定收件者TO、Cc、Bcc資料
InternetAddress[] Toaddress = new InternetAddress[To.length];
for (int i = 0; i < To.length; i++)
Toaddress[i] = new InternetAddress(To[i]);
msg.setRecipients(Message.RecipientType.TO,Toaddress);
if(Cc != null){ //驗證是否有多位副本收件者
InternetAddress[] Ccaddress = new InternetAddress[Cc.length];
for (int i = 0; i < Cc.length; i++)
Ccaddress[i] = new InternetAddress(Cc[i]);
msg.setRecipients(Message.RecipientType.CC,Ccaddress);
}
if(Bcc != null){ //驗證是否有多位密件副本收件者
InternetAddress[] Bccaddress = new InternetAddress[Bcc.length];
for (int i = 0; i < Bcc.length; i++)
Bccaddress[i] = new InternetAddress(Bcc[i]);
msg.setRecipients(Message.RecipientType.BCC, Bccaddress);
}
//其他設定
msg.setSubject(Subject,"Big5");//設定郵件主旨
msg.setSentDate(new Date()); //設定發送時間
//建立多內容 Multpart 郵件物件
Multipart multipart = new MimeMultipart();
MimeBodyPart mbp = new MimeBodyPart();
//建立html格式內容
mbp.setContent(sendMsgHtml,"text/html;charset=big5");
//將內容加入 Multpart 郵件物件
multipart.addBodyPart(mbp);
//附加檔案
mbp = new MimeBodyPart();
DataSource fds = new FileDataSource("report\\附件.txt");
mbp.setDataHandler(new DataHandler(fds));
mbp.setFileName(MimeUtility.encodeText(fds.getName(), "Big5", "B"));
//將附加檔案內容加入 Multpart 郵件物件
multipart.addBodyPart(mbp);
//對 Multpart 郵件物件設定訊息
msg.setContent(multipart);
Transport.send(msg);
return true; //發送信件動作正常
}catch(Exception e){
e.printStackTrace();
}finally{
if(msg!=null) msg = null;
if(session!=null) session = null;
}
return false; //發送信件動作異常
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -