{{ v.name }}
{{ v.cls }}类
{{ v.price }} ¥{{ v.price }}
所需jar包
javax.mail.jar
下载地址:https://github.com/javaee/javamail/releases
csdn下载地址:http://download.csdn.net/download/jasonhector/10103189
限制:需要jdk1.7以及以上版本
邮箱开通服务
qq邮箱》》设置》》账户》》pop3..服务开启前两个
开启后会得到一个序列即为当作代码中的邮箱密码使用
代码
配置文件我是保存在properties文件中了,比较安全
packagecom.huiyi.utils;importiceinternal.ex;importorg.slf4j.loggerfactory;importjavax.mail.session;importjavax.mail.transport;importjavax.mail.internet.internetaddress;importjavax.mail.internet.mimemessage;importjava.io.inputstream;importjava.util.date;importjava.util.properties;importjava.util.logging.logger;publicclassmailsender{privatestaticloggerlogger=logger.getlogger("mailsender.class");/***发送邮件*@paramreceivemail收件人*@paramtopicline邮件标题*@paramcontent内容*@return*@throwsexception*/publicstaticbooleansendmail(stringreceivemail,stringtopicline,stringcontent)throwsexception{booleanresult=true;//1.创建参数配置,用于连接邮件服务器的参数配置propertiesprops=newproperties();try{inputstreamin=mailsender.class.getresourceasstream("/mail.properties");props.load(in);}catch(exceptione){result=false;}stringmail_account=props.getproperty("mail_account");stringmail_pwd=props.getproperty("mail_password");//使用的协议(javamail规范要求)props.setproperty("mail.transport.protocol",props.getproperty("mail_transport_protocol"));//发件人的邮箱的smtp服务器地址props.setproperty("mail.smtp.host",props.getproperty("mail_smtp_host"));//是否需要请求认证props.setproperty("mail.smtp.auth",props.getproperty("mail_smtp_auth"));//qq端口465或者587props.setproperty("mail.smtp.port",props.getproperty("mail_smtp_port"));//2.根据配置创建会话对象,用于和邮件服务器交互sessionsession=session.getinstance(props);session.setdebug(true);//设置为debug模式,可以查看详细的发送log//3.创建一封邮件mimemessagemessage=createmimemessage(session,mail_account,receivemail,topicline,content);//4.根据session获取邮件传输对象try{transporttransport=session.gettransport();transport.connect(mail_account,mail_pwd);//6.发送邮件,发到所有的收件地址,message.getallrecipients()获取到的是在创建邮件对象时添加的所有收件人,抄送人,密送人transport.sendmessage(message,message.getallrecipients());//7.关闭连接transport.close();logger.info("mailhasbeensend");}catch(exceptione){result=false;}returnresult;}/***创建一封只包含文本的简单邮件**@paramsession和服务器交互的会话*@paramsendmail发件人邮箱*@paramreceivemail收件人邮箱*@return*@throwsexception*/publicstaticmimemessagecreatemimemessage(sessionsession,stringsendmail,stringreceivemail,stringtopicline,stringcontent)throwsexception{//1.创建一封邮件mimemessagemessage=newmimemessage(session);//2.from:发件人message.setfrom(newinternetaddress(sendmail,"internet","utf-8"));//3.to:收件人(可以增加多个收件人、抄送、密送)message.setrecipient(mimemessage.recipienttype.to,newinternetaddress(receivemail,"尊敬的用户","utf-8"));//4.subject:邮件主题(message.setsubject(topicline,"utf-8");//5.content:邮件正文(可以使用html标签)message.setcontent(content,"text/html;charset=utf-8");//6.设置发件时间message.setsentdate(newdate());//7.保存设置message.savechanges();returnmessage;}}
properties文件配置
#mail_account//发送邮件方账号mail_account=*********@qq.com#mail_password开通pop服务获取的动态密匙mail_password=***********#mail_smtp发件人邮箱的smtp服务器地址mail_stmp=smtp.qq.com#mail_transport_protocol使用的协议(javamail规范要求)mail_transport_protocol=smtp#mail_smtp_host发件人的邮箱的smtp服务器地址mail_smtp_host=smtp.qq.com#mail_smtp_auth是否需要请求认证mail_smtp_auth=true#mail_smtp_port587or465mail_smtp_port=587
ps: