用java发送邮件(黄海已测试通过)
生活随笔
收集整理的這篇文章主要介紹了
用java发送邮件(黄海已测试通过)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/*** java發送帶附件的郵件* 周楓* 2013.8.10*/
package com.dsideal.Util;
import javax.mail.*;
import javax.mail.internet.*;import java.util.*;
import javax.activation.*;public class SendMail {private static String host = "smtp.qq.com"; // smtp服務器private static String user = "95834073@qq.com"; // 用戶名private static String pwd = "******"; // 密碼/*** <p>功能:</p>* @author 周楓* @date 2013-8-10* @param "發送的郵箱", "接收的郵箱", "這個是收件箱列表標題名稱", "發送郵件顯示標題", "郵件正文", "附件名稱","附件地址+名稱"* @return void*/public static void send(String from,String to,String personalName,String subject,String mail_body,String affixName,String affix_url) {Properties props = new Properties();// 設置發送郵件的郵件服務器的屬性(這里使用網易的smtp服務器)props.put("mail.smtp.host", host);// 需要經過授權,也就是有戶名和密碼的校驗,這樣才能通過驗證(一定要有這一條)props.put("mail.smtp.auth", "true");// 用剛剛設置好的props對象構建一個sessionSession session = Session.getDefaultInstance(props);// 用session為參數定義消息對象MimeMessage message = new MimeMessage(session);try {Address address = new InternetAddress(from,personalName);// 加載發件人地址
message.setFrom(address);// 加載收件人地址message.addRecipient(Message.RecipientType.TO, new InternetAddress(to));// 加載標題
message.setSubject(subject);// 向multipart對象中添加郵件的各個部分內容,包括文本內容和附件Multipart multipart = new MimeMultipart();// 設置郵件的文本內容BodyPart contentPart = new MimeBodyPart();contentPart.setText(mail_body);multipart.addBodyPart(contentPart);// 添加附件BodyPart messageBodyPart = new MimeBodyPart();//解決中文亂碼問題DataSource source = new FileDataSource(affix_url);// 添加附件的內容messageBodyPart.setDataHandler(new DataHandler(source));// 添加附件的標題// 這里很重要,不會變成亂碼
messageBodyPart.setFileName(MimeUtility.encodeText(affixName)); multipart.addBodyPart(messageBodyPart);// 將multipart對象放到message中
message.setContent(multipart);// 保存郵件
message.saveChanges();// 發送郵件Transport transport = session.getTransport("smtp");// 連接服務器的郵箱
transport.connect(host, user, pwd);// 把郵件發送出去
transport.sendMessage(message, message.getAllRecipients());transport.close();} catch (Exception e) {e.printStackTrace();}}public static void main(String[] args) {SendMail.send("95834073@qq.com", "95834073@qq.com", "列表名稱", "html頁面標題", "周楓java發送郵件", "附件.txt", "D:"+File.separator+"temp周楓.txt");System.out.println("郵件成功發送完成!");}
}
要用到的JAR包:http://files.cnblogs.com/littlehb/mail.rar? ? (解壓后放到Lib里)
轉載于:https://www.cnblogs.com/littlehb/p/3219112.html
總結
以上是生活随笔為你收集整理的用java发送邮件(黄海已测试通过)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: KMS命令激活VOL版本Office20
- 下一篇: [转]26款 网络会议/视频会议开源软件