用java EE 5 Libraries 测试发E-mail

package com.hiredmyway.util.mail;

import java.util.Properties;

import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Message;
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 javax.mail.Authenticator;
import javax.mail.PasswordAuthentication;

public class TestHtmlMessageSender {


    /** 在J2ee下javax.mail.*本人用公司的邮箱测试的
     * @param args
     */
     String protocol = "smtp";
        String from = "no-reply@hiredmyway.com";
        String to = "ale.hao@logicsolutions.com";
        String subject = "HTML_test";
        String body = "<a href=http://www.it315.org>" +
           "welcome</a></br>" +
             "<img src=/"d://attach//home_blue_btn.jpg/">";
        public static String user = "ale.hao";
        public static String pass = "logic123";
        public static void main(String[] args) throws Exception
     {
      // 邮箱的服务
      String server = "mail.logicsolutions.com";


      TestHtmlMessageSender  sender = new TestHtmlMessageSender();
            Session session = sender.createSession();
            MimeMessage message = sender.createMessage(session);

            Transport transport = session.getTransport();
            // 连接用自己的用户和密码一定要正确啊
            transport.connect(server, 25, user, pass);
            transport.sendMessage(message,
                message.getRecipients(Message.RecipientType.TO));
            transport.close();
     }

        public Session createSession()
        {
            Properties props = new Properties();
            props.setProperty("mail.transport.protocol", protocol);
            props.setProperty ("mail.smtp.auth","true");
            MyAuthenticator authenticator = null;
            authenticator = new MyAuthenticator(user,
                    pass);
            Session session = Session.getInstance(props,authenticator);
            session.setDebug(true);
         return session;
        }

        public MimeMessage createMessage(Session session) throws Exception
        {
            MimeMessage message = new MimeMessage(session);   
            message.setFrom(new InternetAddress(from));
            message.setRecipients(Message.RecipientType.TO,
              InternetAddress.parse(to));
            message.setSubject(subject);

            MimeMultipart multipart = new MimeMultipart("related");

            MimeBodyPart htmlBodyPart = new MimeBodyPart();         
            htmlBodyPart.setContent(body,"text/html;charset=UTF-8");
            multipart.addBodyPart(htmlBodyPart);

            MimeBodyPart gifBodyPart = new MimeBodyPart();
            // 添加附件的我用一个图片测试的
            FileDataSource fds = new FileDataSource("d://attach//logo-tngworldwide.jpg");
            gifBodyPart.setDataHandler(new DataHandler(fds));
           // gifBodyPart.setContentID("d://attach//logo-tngworldwide.jpg");
            //添加文件体
            multipart.addBodyPart(gifBodyPart);

            message.setContent(multipart);
            message.saveChanges();
            return message;
        }


}




//这是个用户的类主要是用户名和密码
class MyAuthenticator extends Authenticator{  
    String userName=null;  
    String password=null;  
       
    public MyAuthenticator(){  
    }  
    public MyAuthenticator(String username, String password) {   
        this.userName = username;   
        this.password = password;   
    }   
    protected PasswordAuthentication getPasswordAuthentication(){  
        return new PasswordAuthentication(userName, password);  
    }  
}  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值