设为首页 收藏本站
查看: 601|回复: 0

[经验分享] apache发送邮件和java自身发送邮件对比

[复制链接]

尚未签到

发表于 2017-1-10 06:47:01 | 显示全部楼层 |阅读模式
import java.net.URL;  
import java.util.Properties;  
import javax.activation.DataHandler;  
import javax.activation.FileDataSource;  
import javax.mail.Authenticator;  
import javax.mail.BodyPart;  
import javax.mail.Message;  
import javax.mail.MessagingException;  
import javax.mail.Multipart;  
import javax.mail.PasswordAuthentication;  
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 org.apache.commons.mail.DefaultAuthenticator;  
import org.apache.commons.mail.Email;  
import org.apache.commons.mail.EmailAttachment;  
import org.apache.commons.mail.EmailException;  
import org.apache.commons.mail.HtmlEmail;  
import org.apache.commons.mail.MultiPartEmail;  
import org.apache.commons.mail.SimpleEmail;  
import org.junit.After;  
import org.junit.Before;  
import org.junit.Test;  
public class JavaMail {  

@Test  
public void defaultSendMail() throws Exception {  
String host = "smtp.sina.com";// "smtp.gmail.com"   
String port = "25"; //"465"  
Properties props = new Properties();  
props.setProperty("mail.smtp.host", host);   
props.setProperty("mail.smtp.port", port);  
props.setProperty("mail.smtp.auth", "true");  
props.setProperty("mail.smtp.ssl.enable", "false");//"true"  
props.setProperty("mail.smtp.connectiontimeout", "5000");  
final String user = "***@sina.com";  //"***@gmail.com"  
final String pwd = "***";  
Session session = Session.getDefaultInstance(props, new Authenticator() {  
@Override  
protected PasswordAuthentication getPasswordAuthentication() {  
//登录用户名密码  
return new PasswordAuthentication(user,pwd);  
}  
});  
session.setDebug(true);  
Transport transport = session.getTransport("smtp");//"smtps"  
transport.connect(host,user,pwd);   
//消息  
MimeMessage message = new MimeMessage(session);  
setMailContent(message);//。。。。。。。。。。。。。。。。。。  
message.setSubject("邮件标题");  
//消息发送者接收者设置  
//message.setFrom(new InternetAddress(user,"发件人名称"));   
message.addRecipients(Message.RecipientType.TO,new InternetAddress[]{  
new InternetAddress("to1@163.com","to1昵称"),  
new InternetAddress("to2@163.com","to2昵称")  
});  
message.saveChanges();  
//发送  
transport.send(message);  
//Transport.send(message);  
transport.close();   
}  
//设定邮件内容  
private void setMailContent(MimeMessage message) throws MessagingException {  
//方法一:只有文本邮件  
//message.setContent("邮件内容..", "text/plain");//纯文本内容  
//方法二:添加附件的邮件  
Multipart part = new MimeMultipart();  
BodyPart bodypart1 = new MimeBodyPart();  
bodypart1.setText("邮件内容");        
part.addBodyPart(bodypart1 );  
BodyPart bodypart2 = new MimeBodyPart();  
bodypart2.setFileName("fileName");  
bodypart2.setDataHandler(new DataHandler(new FileDataSource("f:\\ok.txt")));  
part.addBodyPart(bodypart2);  
message.setContent(part);  
}  
@Test  
public void apacheSendMail() throws Exception {  
SimpleEmail email = new SimpleEmail();  
email.setHostName("smtp.gmail.com");  
email.setSSL(true);  
email.setSmtpPort(465);  
//      email.setSslSmtpPort("465");  
email.setTLS(true);//gmail  
email.setAuthenticator(new DefaultAuthenticator("h***@gmail.com", "***"));  
email.setFrom("h***@gmail.com");  
email.setSubject("TestCommonMail");  
email.setCharset("gbk");  
//文本邮件  
email.setMsg("This is a test mail ... :-)");  
email.addTo("**to@qq.com");  
email.send();   
}  
@Test  
public void apacheSendHtmlMail() throws Exception {  
HtmlEmail email = new HtmlEmail();  
email.setHostName("smtp.gmail.com");  
email.setSSL(true);  
email.setSmtpPort(465);   
email.setTLS(true);//gmail  
email.setAuthenticator(new DefaultAuthenticator("h***@gmail.com", "***"));  
email.setFrom("h***@gmail.com");  
email.addTo("**to@qq.com");  
email.setSubject("TestCommonMail");  
email.setCharset("gbk");  
//html邮件  
String cid = email.embed(new URL("http://www.google.com.tw/intl/en_com/images/srpr/logo1w.png"), "google logo");  
email.setHtmlMsg("<html>The logo - <img src='cid:"+cid+"'></html>");  
email.send();   
}   

@Test  
public void apacheSendAttachMail() throws Exception {  
MultiPartEmail email = new MultiPartEmail();  
email.setHostName("smtp.gmail.com");  
email.setSSL(true);  
email.setSmtpPort(465);   
email.setTLS(true);//gmail  
email.setAuthenticator(new DefaultAuthenticator("h***@gmail.com", "***"));  
email.setFrom("h***@gmail.com");  
email.addTo("**to@qq.com");  
email.setSubject("TestCommonMail");  
email.setMsg("This is a test mail ... :-)");  
email.setCharset("gbk");  
EmailAttachment attach = new EmailAttachment();  
attach.setName("attachFileName");  
attach.setPath("f:\\ok.txt");  
attach.setDescription(EmailAttachment.ATTACHMENT);  

email.attach(attach );  
email.send();   
}   
}

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-326153-1-1.html 上篇帖子: VPS中APACHE服务器多站点配置 下篇帖子: apache的安装及相关的错误解决方案
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表