45fan.com - 路饭网
首页
路由器设置
无线路由器
路由器密码
网络频道
手机频道
电脑频道
图库频道
问答中心
搜索:
智能搜索
搜索标题
您的位置
:
主页
>
网络频道
> 阅读资讯:如何使用JavaMail发送邮件?
如何使用JavaMail发送邮件?
2016-09-06 09:25:13 来源:www.45fan.com 【
大
中
小
】
如何使用JavaMail发送邮件?
1.邮件发送类:
package
com.taihuatalk.taihua.common.common;
/***/
/**
*Author:李鹏
*CreateDate:2006-06-2522:47:00
*Modifier:李鹏
*ModifyDate:2006-06-2522:47:00
*Version:1.0
*Copyright(c)2006 深蓝工作室
*Allrightreserved.
*/
import
javax.mail.Transport;
import
javax.mail.internet.InternetAddress;
import
java.util.Date;
import
javax.mail.Message.RecipientType;
import
javax.mail.internet.MimeMessage;
import
javax.mail.Message;
import
javax.mail.Session;
import
java.util.Properties;
import
javax.mail.MessagingException;
import
javax.mail.internet.MimeBodyPart;
import
javax.mail.Multipart;
import
javax.mail.internet.MimeMultipart;
import
org.apache.log4j.Logger;
/***/
/**
*发送Email类
*/
public
class
SendEmail
...
{
Loggerlogger
=
Logger.getLogger(
this
.getClass());
/***/
/**
*Email发送方法
*
@param
toemails需要一个字符串参数,用来设置收件人地址,如果收件人为多个,则用","隔开
*
@param
content邮件内容
*
@param
subject邮件主题
*
@return
邮件成功发送则返回true,否则返回false
*/
public
boolean
sendSimpleEmail(Stringtoemails,Stringcontent,Stringsubject)
...
{
boolean
result
=
false
;
logger.info(
"
进入发送Email类
"
);
try
...
{
//
创建属性对象
Propertiesprops
=
new
Properties();
//
设置邮件传输协议为:smtp
props.put(
"
mail.transpost.protocol
"
,
"
smtp
"
);
//
设置邮件服务器地址
props.put(
"
mail.smtp.host
"
,
"
smtp.163.com
"
);
//
设置邮件验证为真
props.put(
"
mail.smtp.auth
"
,
"
true
"
);
//
设置邮件服务器端口
props.put(
"
mail.smtp.port
"
,
"
25
"
);
//
调用验证类进行验证,需要参数发件人用户名和密码
logger.info(
"
验证类实例化==============
"
);
CheckSendEmailauth
=
new
CheckSendEmail(
"lip009
"
,
"
lip009
"
);
logger.info(
"
验证通过
"
);
//
创建session对象
SessionsendMailSession;
sendMailSession
=
Session.getInstance(props,auth);
//
设置输出调试信息
sendMailSession.setDebug(
true
);
logger.info(
"
开始创建消息对象
"
);
//
创建信息对象
MessagenewMessage
=
new
MimeMessage(sendMailSession);
//
输入发送信息
//
设置发信人地址
logger.info(
"
设置发信人地址
"
);
newMessage.setFrom(
new
InternetAddress(
"
link2friend@163.com
"
));
//
设置收信人地址,只支持单用户发送
//
newMessage.setRecipient(Message.RecipientType.TO,newInternetAddress("lip0091981@163.com"));
//
设置收信人地址,可以支持多用户发送
logger.info(
"
设置收信人地址
"
);
newMessage.setRecipients(Message.RecipientType.TO,
InternetAddress.parse(toemails));
//
附件
//
==============================================================================
//
msgText是信件的正文,共有两行
//
StringmsgText=content;
//
msgAttachment是一段字符串作为附件内容
//
StringmsgAttachment="Thisisanattachmentstring!";
//
MimeBodyPartmbp1=newMimeBodyPart();
//
mbp1.setText(msgText);
//
把前面定义的msgText中的文字设定为邮件正文的内容
//
创建附件部分
//
MimeBodyPartmbp2=newMimeBodyPart();
//
使用setText(text,charset)来加入附件
//
mbp2.setText(msgAttachment,"gb2312");
//
创建Multipart
//
Multipartmp=newMimeMultipart();
//
mp.addBodyPart(mbp1);
//
mp.addBodyPart(mbp2);
//
添加Multipart到Message中
//
newMessage.setContent(mp);
//
==============================================================================
//
设置信件文本格式(当设置了附件,这里就不能有)
logger.info(
"
设置格式
"
);
newMessage.setContent(
"
SendMail
"
,
"
text/html
"
);
//
设置信件主题
logger.info(
"
设置主题
"
);
newMessage.setSubject(subject);
//
设置信件发送日期
logger.info(
"
设置发送日期
"
);
newMessage.setSentDate(
new
Date());
//
设置信件正文(当设置了附件,这里就不能有)
newMessage.setText(content);
logger.info(
"
设置完消息
"
);
//
创建对象
Transporttransport;
transport
=
sendMailSession.getTransport(
"
smtp
"
);
logger.info(
"
将要发送
"
);
//
发送
result
=
true
;
transport.send(newMessage);
//
此处总是抛出异常,让人很是郁闷,但是邮件却发送成功!
logger.info(
"
恭喜你!您的邮件已经成功发送!
"
);
}
catch
(MessagingExceptionex)
...
{
//
ex.printStackTrace();
}
return
result;
}
}
2.邮件帐号密码验证类:
package
com.taihuatalk.taihua.common.common;
/***/
/**
*Author:李鹏
*CreateDate:2006-06-2522:47:00
*Modifier:李鹏
*ModifyDate:2006-06-2522:47:00
*Version:1.0
*Copyright(c)2006 深蓝工作室
*Allrightreserved.
*/
import
javax.mail.
*
;
/***/
/**
*Email发送帐号密码验证类
*/
public
class
CheckSendEmail
extends
Authenticator
...
{
private
Stringm_username
=
null
;
private
Stringm_userpass
=
null
;
public
void
setUsername(Stringusername)
...
{
m_username
=
username;
}
public
void
setUserpass(Stringuserpass)
...
{
m_userpass
=
userpass;
}
public
CheckSendEmail(Stringusername,Stringuserpass)
...
{
super
();
setUsername(username);
setUserpass(userpass);
}
public
PasswordAuthenticationgetPasswordAuthentication()
...
{
return
new
PasswordAuthentication(m_username,m_userpass);
}
}
本文地址:
http://www.45fan.com/a/question/73029.html
Tags:
邮件
发送
Javamail
编辑:路饭网
上一篇:
处理遇到讨厌的同事的诀窍
下一篇:
Google搜索在线摄像头监视站点的方法
相关文章列表
怎么样利用python发送和接收邮件?
如何通过Python使用SMTP发送邮件的代码?
怎么样通过Python实现TCP包发送十六进制
在Outlook2013中收回已经发送的邮件的方
怎么样利用Oracle数据库发送邮件?
如何利用Python自动监控网站并发送邮件告
如何用C写的邮件发送程序?
如何实现将表单内容向邮件提交?
怎么样使用javax.mai发送邮件?
怎么样使用CAPI实现notes的邮件提醒?
推广内容
推荐阅读
热门推荐
推荐文章
·
欢乐颂五美晒合照 齐呼:We are back!!
·
Google AdSense广告业务也被干扰,掉包严
·
京东和淘宝二者对比有什么区别?
·
输入新浪微博的验证码老是错误怎么办?
·
google adsense打不开怎么办?免翻墙打开
·
在淘宝网买东西要注意哪些事项?网友必备
·
阿里提供免费公共DNS服,阿里公共dns地址
·
如何进行小米真人认证?小米官方真人认证
·
怎么用PS制作出真实的眼睛?
·
招财宝有什么作用?招财宝不仅仅是余额宝
·
路饭网官方微信公众平台开通啦!赶快扫描
·
路由器连接检测工具 检测电脑上不了网的
关于我们
|
联系我们
|
友情链接
|
网站地图
|
Sitemap
|
App
|
返回顶部