zoukankan      html  css  js  c++  java
  • 用java发送email邮件例子

    package com.hzk.mail;
    
    import java.net.MalformedURLException;
    import java.net.URL;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    import org.apache.commons.mail.EmailAttachment;
    import org.apache.commons.mail.EmailException;
    import org.apache.commons.mail.HtmlEmail;
    
    
    /***
     * HtmlEmail 用于发送HTML格式的邮件。完全的兼容MultiPartEmail, 易于添加附件,同时也支持内嵌图像
     * MultiPartEmail  用于发送带附件的或者内嵌形式的邮件
     * @author Administrator
     *
     */
    public class MailTest2 {
        public static void main(String[] args) {
            try {
                //Create the attachment  创建附件1
                //System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
                EmailAttachment attachment1 = new EmailAttachment();  
                attachment1.setURL(new URL("http://www.apache.org/images/asf_logo_wide.gif"));  // 发送网络文件
                attachment1.setDisposition(EmailAttachment.ATTACHMENT);  
                attachment1.setDescription("apache logo");  
                attachment1.setName("apache logo");  
                
                //Create the attachment  创建附件2
                EmailAttachment attachment2 = new EmailAttachment();  //发送本地文件
                attachment2.setPath("img/qq_znone.gif");//不支持png格式的图片 
                attachment2.setDisposition(EmailAttachment.ATTACHMENT);  
                attachment2.setDescription("qq znone logo");  
                attachment2.setName("qq znone logo");  
                
                //Create the mail message  
                HtmlEmail htmlEmail = new HtmlEmail();  
                htmlEmail.setHostName("smtp.163.com");//你的邮件服务器的地址  
                htmlEmail.setAuthentication("tjhouzhikai", "757583770");//如果你的邮件服务器设置了密码,请输入密码,否则此语句可以忽略  
                htmlEmail.addTo("china_houzhikai@163.com", null);//设置收件人,如果想添加多个收件人,将此语句多写几次即可。
                                                         //其中参数1,代表收件人邮件地址;  
                                                         //参数2,用于收件人收到邮件时看到的收件人姓名  
                htmlEmail.setFrom("tjhouzhikai@163.com", "张三");//发件人  
                htmlEmail.setCharset("UTF-8");  
                htmlEmail.setSubject("带图片和附件的java测试");  
                htmlEmail.setMsg("hello wellcome");  
                  
                
                URL url = new URL("http://www.apache.org/images/asf_logo_wide.gif");
                String cid = htmlEmail.embed(url, "Apache logo");
                String testEditor = "亲 你想登录qq空间吗?想的话就<a href='http://qzone.qq.com/'>  点击   </a>"+
                     "<br />"+
                     "<html>" +
                        "<img src="cid:"+cid+"">" +
                        "<br />" +
                        "<iframe src='http://i.qq.com' height='100' scrolling='auto' width='50%' frameborder='1'></iframe>" +
                        "</html>";///关于iframe :出于安全考虑,大多邮箱是不支持iframe框架或javascript脚本内容的,也就是说,你就算成功把内容发给别人,对方邮箱不一定能把内容显示出来,例如发给qq、163、126等主流邮箱就不行,会显示空白。
                            
                htmlEmail.setHtmlMsg(testEditor);//testEditor 变量包含html内容  
                htmlEmail.attach(attachment1);//添加 --附件  1
                htmlEmail.attach(attachment2);//添加 --附件  2
                  
                  
                htmlEmail.send();//发送邮件  
                System.out.println("发送成功!");
            } catch (MalformedURLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            } catch (EmailException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
        }
    }
    邮件箱截图如下:

    =======================================================================================================================================




  • 相关阅读:
    MongoDB分片集群还原
    集群因子(Clustering Factor)
    Sunisoft.IrisSkin.SkinEngine 设置winform皮肤
    17monipdb根据IP获得区域
    ArraySegmentSample
    RichTextBox指定全部文字显示不同颜色及部分文字高亮颜色显示
    Git 基本分支规范
    C# 获取方法内参数名称
    (转)C#中的Predicate<T>与Func<T, bool>
    EF 多线程TransactionScope事务异常"事务EFTransaction类定义:与另一个进程被死锁在 锁 资源上,并且已被选作死锁牺牲品。请重新运行该事务。"
  • 原文地址:https://www.cnblogs.com/IT-Monkey/p/3472878.html
Copyright © 2011-2022 走看看