邮件发送demo源码

来源:互联网 发布:node gzip压缩 编辑:程序博客网 时间:2024/05/20 13:38

demo1==========================================================================================================

package com.utils;


import java.util.Properties;


import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


public class Test {
public static void main(String[] args) throws Exception {
// 创建邮件的发送过程中用到的主机和端口号的属性文件  
        Properties pro = new Properties();  
        // 设置邮件发送方的主机地址如果是163邮箱,则为smtp.163.com  
        // 如果是其他的邮箱可以参照http://wenku.baidu.com/link?url=Cf-1ggeW3e7Rm9KWfz47UL7vvkRpPxAKBlYoTSGpnK4hxpJDiQ0A4lRoPDncMlcMIvUpEn6PD0aObgm5zJaM7AOGkRdccSx6HDH2fSWkxIq这个文档  
        pro.put("mail.smtp.host", "smtp.163.com");  
        // 设置发送邮件端口号  
        pro.put("mail.smtp.port", "25");  
        // 设置邮件发送需要认证  
        pro.put("mail.smtp.auth", "true");  
        // 创建邮件验证信息,即发送邮件的用户名和密码  
        Authenticator authenticator = new Authenticator() {  
            @Override  
            protected PasswordAuthentication getPasswordAuthentication() {  
                // 重写验证方法,填写用户名,密码  
                return new PasswordAuthentication("XXXX@163.com", "993722xxd");  //密码为第三方登录授权码
            }  
        };  
        // 根据邮件会话 构建一个邮件的session  
        Session sendMailSession = Session  
                .getDefaultInstance(pro, authenticator);  
        // 创建一个邮件消息  
        Message message = new MimeMessage(sendMailSession);  
        // 创建邮件发送者地址  
        Address sourceAddress = new InternetAddress("XXXX@163.com");  
        // 将原地址设置到消息的信息中  
        message.setFrom(sourceAddress);  
        // 创建邮件的接收者地址  
        Address destAddress = new InternetAddress("XXXX@qq.com");  
        // 将接收者的地址设置到消息的信息中  
        message.setRecipient(Message.RecipientType.TO, destAddress);  
        // 设置邮件的主题  
        message.setSubject("分手快乐!");  
        // 设置邮件的发送内容  
        message.setText("你好,情人节快乐!");  
        // 可以设置邮件的发送时间(就是对方看邮件发送的时间)  
        // String sendDate = "2013-12-23 17:55:00";  
        // Date date = new  
        // SimpleDateFormat("yyyy-MM-dd hh:mm:ss").parse(sendDate);  
        // message.setSentDate(date);  
        // 发送邮件  
        
        Transport.send(message);  
    }  
}



demo2=======================================================================================================

1.工具类

package com.utils;


import java.util.Properties;


import javax.mail.Address;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;


public class EmailUtil {
public static void sendMail(String to ,String code){
Properties pro=new Properties();
// 设置邮件发送方的主机地址如果是qq邮箱,则为smtp.qq.com
pro.put("mail.smtp.host", "smtp.163.com");
// 设置发送邮件端口号  
        pro.put("mail.smtp.port", "25"); 
        // 设置邮件发送需要认证  
        pro.put("mail.smtp.auth", "true");  
        // 创建邮件验证信息,即发送邮件的用户名和密码  
        Authenticator authenticator = new Authenticator() {  
            @Override  
            protected PasswordAuthentication getPasswordAuthentication() {  
                // 重写验证方法,填写用户名,密码  
                return new PasswordAuthentication("XXXX@163.com", "993722xxd");  //密码为第三方登录授权码
            }  
        };  
        // 根据邮件会话 构建一个邮件的session  
        Session session = Session  
                .getDefaultInstance(pro, authenticator);



Message message=new MimeMessage(session);
try {
// 创建邮件发送者地址  
       Address sourceAddress = new InternetAddress("XXXX@163.com");  
       // 将原地址设置到消息的信息中  
       message.setFrom(sourceAddress);  
       // 创建邮件的接收者地址  
       Address destAddress = new InternetAddress(to);  
       // 将接收者的地址设置到消息的信息中  
       message.setRecipient(Message.RecipientType.TO, destAddress);  
       // 设置邮件的主题  
message.setSubject("来自139邮箱激活邮件。");
// 设置邮件的发送内容  

message.setContent("<h1>激活邮件</h1><h3><a href='http://192.168.31.205:8080/Test/test_active.action?code="+code+"'>马上激活</a></h3>"
+ "","text/html;charset=UTF-8");

Transport.send(message);

} catch (AddressException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (MessagingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}


2.测试类

package com.test;


import java.util.UUID;


import com.opensymphony.xwork2.ActionSupport;
import com.utils.EmailUtil;


public class TestAction extends ActionSupport{

public void toemail(){

String code=UUID.randomUUID().toString().replace("-", "");
//System.out.println(code+"===================================");

EmailUtil.sendMail("xxxx@139.com", code);
}

}

部署启动,直接访问此action即可发送邮件

0 0
原创粉丝点击