`
shijian4810
  • 浏览: 20666 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

简单的邮件收发程序

阅读更多
package net.csdn.blog.johnston.mail;      
import javax.mail.*;       
     
        
     
        
     
public class MailAuthenticator extends Authenticator       
     
{       
     
    //******************************       
     
    //由于发送邮件的地方比较多,       
     
    //下面统一定义用户名,口令.       
     
    //******************************       
     
//    public static String HUAWEI_MAIL_USER = "cecfhelp";       
     
//    public static String HUAWEI_MAIL_PASSWORD = "hEl66P666";       
     
    public static String HUAWEI_MAIL_USER = "lisunchang678";       
    public static String HUAWEI_MAIL_PASSWORD = "lsc6312217";       
     
//  public static String HUAWEI_MAIL_USER = "309341935";       
//      
//  public static String HUAWEI_MAIL_PASSWORD = "lsc6028517";       
     
    public MailAuthenticator()       
     
    {       
     
    }       
     
        
     
    protected PasswordAuthentication getPasswordAuthentication()       
     
    {       
     
        return new PasswordAuthentication(HUAWEI_MAIL_USER, HUAWEI_MAIL_PASSWORD);       
     
    }       
     
        
     
}      

package net.csdn.blog.johnston.mail;      
     
/**     
   
* 此处插入类型说明。     
   
* 创建日期:(2009-06-23)     
   
* @author:johnston    
   
*/     
     
import java.util.*;      
     
import java.io.*;      
     
import javax.mail.*;      
     
import javax.mail.internet.*;      
     
import javax.activation.*;      
     
public class SendMail {      
     
    // 要发送Mail地址      
     
    private String mailTo = null;      
     
    // Mail发送的起始地址      
     
    private String mailFrom = null;      
     
    // SMTP主机地址      
     
    private String smtpHost = null;      
     
    // 是否采用调试方式      
     
    private boolean debug = false;      
     
    private String messageBasePath = null;      
     
    // Mail主题      
     
    private String subject;      
     
    // Mail内容      
     
    private String msgContent;      
     
    private Vector attachedFileList;      
     
    private String mailAccount = null;      
     
    private String mailPass = null;      
     
    private String messageContentMimeType = "text/html; charset=gb2312";      
     
    private String mailbccTo = null;      
     
    private String mailccTo = null;      
     
    /**    
     *     
     * SendMailService 构造子注解。    
     *     
     */     
     
    public SendMail() {      
     
        super();      
     
    }      
     
    private void fillMail(Session session, MimeMessage msg) throws IOException,      
            MessagingException {      
     
        String fileName = null;      
     
        Multipart mPart = new MimeMultipart();      
     
        if (mailFrom != null) {      
     
            msg.setFrom(new InternetAddress(mailFrom));      
     
            System.out.println("发送人Mail地址:" + mailFrom);      
     
        } else {      
     
            System.out.println("没有指定发送人邮件地址!");      
     
            return;      
     
        }      
     
        if (mailTo != null) {      
     
            InternetAddress[] address = InternetAddress.parse(mailTo);      
     
            msg.setRecipients(Message.RecipientType.TO, address);      
     
            System.out.println("收件人Mail地址:" + mailTo);      
     
        } else {      
     
            System.out.println("没有指定收件人邮件地址!");      
     
            return;      
     
        }      
     
        if (mailccTo != null) {      
     
            InternetAddress[] ccaddress = InternetAddress.parse(mailccTo);      
     
            System.out.println("CCMail地址:" + mailccTo);      
     
            msg.setRecipients(Message.RecipientType.CC, ccaddress);      
     
        }      
     
        if (mailbccTo != null) {      
     
            InternetAddress[] bccaddress = InternetAddress.parse(mailbccTo);      
     
            System.out.println("BCCMail地址:" + mailbccTo);      
     
            msg.setRecipients(Message.RecipientType.BCC, bccaddress);      
     
        }      
     
        msg.setSubject(subject);      
     
        InternetAddress[] replyAddress = { new InternetAddress(mailFrom) };      
     
        msg.setReplyTo(replyAddress);      
     
        // create and fill the first message part      
     
        MimeBodyPart mBodyContent = new MimeBodyPart();      
     
        if (msgContent != null)      
     
            mBodyContent.setContent(msgContent, messageContentMimeType);      
     
        else     
     
            mBodyContent.setContent("", messageContentMimeType);      
     
        mPart.addBodyPart(mBodyContent);      
     
        // attach the file to the message      
     
        if (attachedFileList != null) {      
     
            for (Enumeration fileList = attachedFileList.elements(); fileList      
                    .hasMoreElements();) {      
     
                fileName = (String) fileList.nextElement();      
     
                MimeBodyPart mBodyPart = new MimeBodyPart();      
     
                // attach the file to the message      
     
                FileDataSource fds = new FileDataSource(messageBasePath      
                        + fileName);      
     
                System.out.println("Mail发送的附件为:" + messageBasePath + fileName);      
     
                mBodyPart.setDataHandler(new DataHandler(fds));      
     
                mBodyPart.setFileName(fileName);      
     
                mPart.addBodyPart(mBodyPart);      
     
            }      
     
        }      
     
        msg.setContent(mPart);      
     
        msg.setSentDate(new Date());      
     
    }      
     
    /**    
     *     
     * 此处插入方法说明。    
     *     
     */     
     
    public void init()      
     
    {      
     
    }      
     
    /**    
     *     
     * 发送e_mail,返回类型为int    
     *     
     * 当返回值为0时,说明邮件发送成功    
     *     
     * 当返回值为3时,说明邮件发送失败    
     *     
     */     
     
    public int sendMail() throws IOException, MessagingException {      
     
        int loopCount;      
     
        Properties props = System.getProperties();      
     
        props.put("mail.smtp.host", smtpHost);      
     
        props.put("mail.smtp.auth", "true");      
     
        MailAuthenticator auth = new MailAuthenticator();      
     
        Session session = Session.getInstance(props, auth);      
     
        session.setDebug(debug);      
     
        MimeMessage msg = new MimeMessage(session);      
     
        Transport trans = null;      
     
        try {      
     
            fillMail(session, msg);      
     
            // send the message      
     
            trans = session.getTransport("smtp");      
     
            try {      
     
                trans.connect(smtpHost, MailAuthenticator.HUAWEI_MAIL_USER,      
                        MailAuthenticator.HUAWEI_MAIL_PASSWORD);      
                                                                      
     
            } catch (AuthenticationFailedException e) {      
     
                e.printStackTrace();      
     
                System.out.println("连接邮件服务器错误1:");      
     
                return 3;      
     
            } catch (MessagingException e) {      
                e.printStackTrace();      
                System.out.println("连接邮件服务器错误2:");      
     
                return 3;      
     
            }      
     
            trans.send(msg);      
     
            trans.close();      
     
        } catch (MessagingException mex) {      
     
            System.out.println("发送邮件失败:");      
     
            mex.printStackTrace();      
     
            Exception ex = null;      
     
            if ((ex = mex.getNextException()) != null) {      
     
                System.out.println(ex.toString());      
     
                ex.printStackTrace();      
     
            }      
     
            return 3;      
     
        } finally {      
     
            try {      
     
                if (trans != null && trans.isConnected())      
     
                    trans.close();      
     
            } catch (Exception e) {      
     
                System.out.println(e.toString());      
     
            }      
     
        }      
     
        System.out.println("发送邮件成功!");      
     
        return 0;      
     
    }      
     
    public void setAttachedFileList(java.util.Vector filelist)      
     
    {      
     
        attachedFileList = filelist;      
     
    }      
     
    public void setDebug(boolean debugFlag)      
     
    {      
     
        debug = debugFlag;      
     
    }      
     
    public void setMailAccount(String strAccount) {      
     
        mailAccount = strAccount;      
     
    }      
     
    public void setMailbccTo(String bccto) {      
     
        mailbccTo = bccto;      
     
    }      
     
    public void setMailccTo(String ccto) {      
     
        mailccTo = ccto;      
     
    }      
     
    public void setMailFrom(String from)      
     
    {      
     
        mailFrom = from;      
     
    }      
     
    public void setMailPass(String strMailPass) {      
     
        mailPass = strMailPass;      
     
    }      
     
    public void setMailTo(String to)      
     
    {      
     
        mailTo = to;      
     
    }      
     
    public void setMessageBasePath(String basePath)      
     
    {      
     
        messageBasePath = basePath;      
     
    }      
     
    public void setMessageContentMimeType(String mimeType)      
     
    {      
     
        messageContentMimeType = mimeType;      
     
    }      
     
    public void setMsgContent(String content)      
     
    {      
     
        msgContent = content;      
     
    }      
     
    public void setSMTPHost(String host)      
     
    {      
     
        smtpHost = host;      
     
    }      
     
    public void setSubject(String sub)      
     
    {      
     
        subject = sub;      
     
    }      
     
    public static void main(String[] argv) throws Exception      
     
    {      
     
        for (int i = 0; i < 10; i++) {      
     
            SendMail sm = new SendMail();      
     
//          sm.setSMTPHost("mail.ec.com.cn");      
//          sm.setMailFrom("cecfhelp@ec.com.cn");      
            //sm.setMailTo("309341935@qq.com");               
                  
                  
            sm.setSMTPHost("smtp.163.com");      
            sm.setMailFrom("lisunchang678@163.com");                  
            sm.setMailTo("johnston678@163.com");      
     
//          sm.setSMTPHost("smtp.qq.com");      
//          sm.setMailFrom("309341935@qq.com");      
//          sm.setMailTo("495794927@qq.com");      
                  
            sm.setMsgContent("邮件测试程序" + i);      
     
            sm.setSubject("邮件测试程序" + i);      
     
            sm.sendMail();      
                  
            Thread t = new Thread();      
            t.sleep(10000);      
            System.out.println("count:" + i);      
     
        }      
     
    }      
     
}     
分享到:
评论

相关推荐

    简单邮件收发器源码

    这是一个关于邮件收发器的源码项目,主要涵盖了如何在C#环境中开发一个简单的邮件发送和接收应用程序。这个项目的源代码包含多个关键组件,让我们逐一分析。 首先,`MailSendAndReceive`是项目的根目录,它包含了...

    C#之邮件收发实现程序

    在C#编程中,邮件收发是常见的任务之一,尤其对于企业级应用或者自动化脚本来说,能够发送通知、报告或者其他重要信息是非常重要的。本文将详细介绍如何使用C#实现邮件的发送和接收功能。 首先,邮件发送在.NET ...

    VB6+Jmail简单的邮件收发小程序

    【VB6+Jmail简单的邮件收发小程序】 VB6(Visual Basic 6)是微软公司开发的一款集成开发环境,主要用于创建Windows应用程序。它以其简单易学、编程效率高而受到许多初学者和专业开发者的喜爱。Jmail,则是用于VB6...

    简单的邮件收发器

    本项目“简单的邮件收发器”是利用C#实现的一个基础的邮件客户端,它具备邮件的发送、接收以及处理附件等核心功能。下面我们将深入探讨这个项目涉及到的关键知识点。 1. **SMTP(Simple Mail Transfer Protocol)**...

    收发邮件程序收发邮件程序收发邮件程序收发邮件程序

    收发邮件程序收发邮件程序收发邮收发邮件程序件程序

    06.邮件收发程序.rar

    邮件收发程序.rar" 指的是一款基于VB(Visual Basic)编程语言开发的邮件收发程序。VB是Microsoft公司推出的一种面向对象的、可视化编程工具,它简单易用,适合初学者进行程序开发。在这个项目中,开发者使用VB创建...

    .net 邮件收发程序

    在.NET开发环境中,创建邮件收发程序是一项常见的任务,它涉及到使用特定的库或API来实现电子邮件的发送和接收功能。本项目名为".net 邮件收发程序",其核心可能使用了OpenPop.NET这个开源库,版本为2.0.2。 ...

    VC做的邮件收发程序

    邮件收发的程序,内容和代码都很详细,值得参考

    简单的JavaMail的收发邮件程序

    这个简单的JavaMail程序包含了收发邮件的基本功能,对于理解JavaMail的工作原理和使用方法非常有帮助。 首先,让我们从发送邮件的部分开始。在JavaMail中,发送邮件的核心类是`javax.mail.Session`和`javax.mail....

    java邮件收发

    Java邮件收发是Java开发中一个实用的功能,它允许程序自动发送和接收电子邮件。在Java中,这主要通过使用JavaMail API来实现。JavaMail API是一个开源库,它提供了丰富的接口和类,使得开发者能够方便地处理邮件服务...

    java电子邮件收发系统 java源代码

    java开发的电子邮件收发应用程序。包括邮件的发送、阅读、和删除功能。当然还可以添加联系人,联系人是采用xml文档保存的。本邮件系统当有新邮件到达时可以提示,并且系统托盘中的邮件图标会闪动。本邮件系统是本人...

    计算机毕业设计-ASP.NET邮件收发程序的设计与开发(源代码+)-毕设源码实例.zip

    计算机毕业设计_ASP.NET邮件收发程序的设计与开发(源代码+)__毕设源码实例.zip计算机毕业设计_ASP.NET邮件收发程序的设计与开发(源代码+)__毕设源码实例.zip计算机毕业设计_ASP.NET邮件收发程序的设计与开发(源代码+...

    cgi邮件收发程序汉化版 

    CGI邮件收发程序是一种基于Common Gateway Interface (CGI)技术的应用,用于通过Web服务器接收和发送电子邮件。这个汉化版特别适合那些希望通过网页界面管理自己邮件的用户,无需依赖特定的邮件客户端软件。CGI是Web...

    电子邮件收发程序(c++版)

    电子邮件收发程序是计算机软件系统中的一个重要组成部分,特别是在企业级通信和日常个人通讯中发挥着不可或缺的作用。在C++环境中,开发这样的程序涉及到对SMTP(简单邮件传输协议)和POP3(邮局协议版本3)的理解与...

    计算机网络邮件收发 SMTP和POP3实现

    设计邮件客户端程序时,首先要进行需求分析,明确邮件收发的核心功能,如SMTP的邮件发送和POP3的邮件接收。然后,设计软件架构,包括主程序模块、连接与认证模块、SMTP邮件发送模块、POP3邮件接收模块和下载模块。在...

    VB简单收发邮件客户端程序源码.rar

    标题中的“VB简单收发邮件客户端程序源码.rar”表明这是一个使用Visual Basic(VB)编写的电子邮件客户端程序的源代码,主要用于学习和理解VB编程语言如何实现邮件的接收和查看功能。VB是一种流行的面向对象的编程...

    java写的收发邮件程序

    在Java编程领域,收发...通过学习和实践`MailTest.java`中的示例,初学者可以更好地理解Java在网络编程中的应用,特别是在处理邮件收发这一实际问题上。这不仅加深了对Java编程的理解,也扩展了对网络通信协议的认识。

    邮件收发程序 C# 有代理功能 源码

    邮件收发程序 C# 有代理功能 源码 邮件收发程序 C# 有代理功能 源码

    邮件收发程序的设计与开发

    因此,本系统研究并开发了基于B/S模式的邮件收发程序系统。 《邮件收发程序的设计与开发》是一个综合性的程序设计,涉及到界面、系统、数据库、协议、编码等多个方面的内容。本设计前台采用.NET技术,后台数据库采用...

Global site tag (gtag.js) - Google Analytics