使用Javamail发送邮件

来源:互联网 发布:停课铃软件 编辑:程序博客网 时间:2024/06/05 00:10

用Javamail发送邮件是比较简单,如果j2ee版本是5以及5以上的话,是有自带Javamail的包的,如果没有的话,就要将下载好的Javamail中的mail.jar放到lib文件中。
注意:要让邮箱能发送信息,必须发件人的邮箱有开通smtp服务,默认情况是没有开启的。
如果使用的是139邮箱的话,还可以直接发送短信,相当于免费使用手机短信验证码功能。
如果想要使用struts+spring+hibernate框架发送邮件,还得lib文件夹中添加action.jar
地址:http://download.csdn.net/detail/wsk1103/9650327
代码:

package wsk.com.email;import java.util.Properties;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.MimeMessage;public class email {    public static void main(String[] args) throws MessagingException {        Properties prop=new Properties();        //邮件发送主要使用的smtp服务        prop.setProperty("mail.host", "smtp.sina.com");//使用新浪邮箱的smtp服务        prop.setProperty("mail.transport.protocol", "smtp");//必须选择协议        prop.setProperty("mail.smtp.auth", "true");//使用普通的客户端        prop.setProperty("mail.smtp.port", "25");//端口号为25,其实默认的就是25,这句也可以不用        Session session=Session.getInstance(prop);//获取会话        session.setDebug(true);//开启debug模式,便于调试        Transport ts=session.getTransport();//开启事务        //分别对应 新浪邮箱的smtp服务,邮箱,密码        ts.connect("smtp.sina.com","**@sina.com","**");        //信息获取会话        Message message=new MimeMessage(session);        //发送人邮箱        message.setFrom(new InternetAddress("**@sina.com"));        //收件人邮箱        message.setRecipient(Message.RecipientType.TO, new InternetAddress("**@163.com"));        //邮件标题        message.setSubject("点我");        //邮件内容        message.setContent("点击激活<a href='http://www.wsk1103.cc'>http://www.wsk1103.cc</a>", "text/html;charset=UTF-8");        //发送邮件        ts.sendMessage(message, message.getAllRecipients());        //关闭事务        ts.close();    }}

注:QQ邮箱开通smtp服务还得发送短信确认开通,每次发送还得发短信获取登录smtp密码,比较麻烦,126和163邮箱发送邮件的时候会经常造成554错误(被认为发送的是垃圾邮件,无法发送),gmail得翻墙,所以我最后使用的是新浪的邮箱

1 0
原创粉丝点击