package mail;
import java.io.UnsupportedEncodingException;
import javax.mail.internet.MimeUtility;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.MultiPartEmail;
import org.apache.commons.mail.SimpleEmail;
public class Send2 {
public Send2(){}
// 需要的jar包5个:commons-email-1.2.jar commons-email-1.2-javadoc.jar
// commons-email-1.2-sources.jar mail.jar activation.jar
public static void main(String[] args) {
send();
}
// QQ邮箱对应的pop3和smtp服务器地址为:pop3:pop.qq.com;
// smtp:smtp.qq.com,请参考
// lu@yahoo.com.cn
// 449222222@qq.com
public static void send() {
try {
MultiPartEmail email = new MultiPartEmail ();
email.setTLS(true);
email.setHostName("smtp.qq.com"); // 这里是发送服务器的名字
email.setAuthentication("449222222@qq.com", "邮箱密码");
//产生一个附件
EmailAttachment attachment = new EmailAttachment();
attachment.setPath("D:/1.jpg");//指定附件在本地的绝对路径
//也可以以网络的方式
//attachment.setURL(new URL("http://www.apache.org/images/asf_logo_wide.gif"));
attachment.setDisposition(EmailAttachment.ATTACHMENT);
attachment.setDescription("附件描述");//附件描述
//附件名称,如果附件是中文名会在乱码,attachment.setName(MimeUtility.encodeText("测试"));
attachment.setName(MimeUtility.encodeText("附件名字"));
email.addTo("lushuaiyin@yahoo.com.cn", "rec"); // 接收方
//第2个参数是昵称,可以不要,收件人在信箱内的这个地方显示
//收件人: | rec <lushuaiyin@yahoo.com.cn> |
email.setFrom("449020109@qq.com"); // 发送方
email.setSubject("Java发送邮件测试"); // 标题
email.setCharset("GB2312"); // 设置Charset
email.setMsg("这是一封Java程序发出的测试邮件,带附件。"); // 内容
email.attach(attachment);//添加附件
email.send();//发送
System.out.println("邮件发送成功");
} catch (EmailException e) {
e.printStackTrace();
}catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/*
* 有的邮箱需要开启POP3/SMTP服务,例如本例的qq邮箱,在测试时弹出需要开启此服务的 提示(qq邮箱发来的),进入邮箱的设置,开启就行了
*/