package com.rlovep.mail;
import java.io.File;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.DataSource;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
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 com.sun.mail.imap.Rights.Right;
public class SendAttach {
public static void main(String[] args) {
//邮件参数
Properties prop=new Properties();
prop.put("mail.transport.protocol", "smtp"); // 指定协议
prop.put("mail.smtp.host", "smtp.qq.com"); // 主机 stmp.qq.com
prop.put("mail.smtp.port", 25); // 端口
prop.put("mail.smtp.auth", "true"); // 用户密码认证
prop.put("mail.debug", "true"); // 调试模式
//设置密码和账户,和发送人必须一致;
Authenticator authenticator=new EmailAuthenticator("374126165@qq.com","wang126165");
//1.创建一个邮件会话
Session session=Session.getDefaultInstance(prop,authenticator);
//2.创建邮件体对象
MimeMessage message=new MimeMessage(session);
//3.设置参数:标题,发件人,收件人,时间,内容
try {
//3.1标题
message.setSubject("带图片邮件","utf-8");
//3.2发送时间
message.setSentDate(new Date());
//3.3发件人
message.setFrom(new InternetAddress("374126165@qq.com"));
//3.4接收人
message.setRecipient(Message.RecipientType.TO, new InternetAddress("491629346@qq.com"));
/***************设置邮件内容: 多功能用户邮件 (related)*******************/
MimeMultipart mixed=new MimeMultipart("mixed");
//建立文本和附加
MimeBodyPart text=new MimeBodyPart();
MimeBodyPart attach=new MimeBodyPart();
/**附件添加**/
String attr_path=SendAttach.class.getResource("1.txt").getPath();
DataSource ds=new FileDataSource(new File(attr_path));
DataHandler handler=new DataHandler(ds);
attach.setDataHandler(handler);
attach.setFileName("1.txt");
//设置邮件内容
text.setContent("我是peace", "text/html;charset=UTF-8");
//将内容加入邮件
mixed.addBodyPart(text);
mixed.addBodyPart(attach);
message.setContent(mixed);
//发送
Transport.send(message);
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}