使用javax.mail發送帶附件的郵件

//以下內容請自主將變量值替換爲你的
//開始
String stmpHost = smtp.mxhichina.com;
String sendMailAccount ="發件賬戶";
String mailSubject = "郵件主題";
String sendTo = “僅在發件郵箱看得見的收件人暱稱”
String fileUrl = "附件地址";
String password = "郵箱密碼/郵箱授權碼"
//結束

/**
* 寄信的主流程還是配置元素,獲得會話,生成可以使用此會話的郵件類,將附件放入主體部分,發送這幾個部分
* 以下是配置元素部分,包括了選擇的協議,協議的主機,是否使用身份驗證(身份驗證必須寫上)
*/
Properties properties = new Properties();
properties.setProperty("mail.transport.protocol", "smtp");
properties.setProperty("mail.smtp.host", stmpHost);
properties.setProperty("mail.smtp.auth", "true");


/**
* 由配置元素生成會話,由會話生成消息(郵件)
* 生成內容載體
*/
Session session = Session.getInstance(properties);
MimeMessage message = new MimeMessage(session);
MimeMultipart multipart = new MimeMultipart();

/**
* 設置郵件的基本信息
*/
message.setFrom(sendMailAccount);
message.setSubject(mailSubject);
message.setRecipient(MimeMessage.RecipientType.TO, new InternetAddress(receiveMailAccount, sendTo, "UTF-8"));

/**
* 將附件部分放入主體部分
*/
MimeBodyPart mbp = new MimeBodyPart();
DataHandler dataHandler = new DataHandler(new FileDataSource(fileUrl));
mbp.setDataHandler(dataHandler);
mbp.setFileName(dataHandler.getName());

/**
* 將主體部分放入郵件
*/
multipart.addBodyPart(mbp);
message.setContent(multipart);

/**
* 傳輸郵件
*/
Transport transport = session.getTransport();
transport.connect(sendMailAccount, password);
transport.sendMessage(message, message.getAllRecipients());
transport.close();

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章