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);
}
}
}
分享到:
相关推荐
这个源码可能包含了一个简单的邮件客户端程序,能够帮助用户与邮件服务器进行交互,完成邮件的收发任务。 首先,我们要理解邮件收发的基本原理。电子邮件系统通常基于SMTP(Simple Mail Transfer Protocol)协议...
以下是一个简单的TCPListener示例,但请注意,实际邮件接收会涉及到复杂的协议解析: ```csharp using System.Net.Sockets; using System.Text; // 创建TCP监听器 TcpListener listener = new TcpListener(IP...
收发邮件程序收发邮件程序收发邮收发邮件程序件程序
实验8 掌握简单的网络通信技术 编写一个邮件收发的客户端程序!
在.NET开发环境中,创建邮件收发程序是一项常见的任务,它涉及到使用特定的库或API来实现电子邮件的发送和接收功能。本项目名为".net 邮件收发程序",其核心可能使用了OpenPop.NET这个开源库,版本为2.0.2。 ...
【VB6+Jmail简单的邮件收发小程序】 VB6(Visual Basic 6)是微软公司开发的一款集成开发环境,主要用于创建Windows应用程序。它以其简单易学、编程效率高而受到许多初学者和专业开发者的喜爱。Jmail,则是用于VB6...
邮件收发程序.rar" 指的是一款基于VB(Visual Basic)编程语言开发的邮件收发程序。VB是Microsoft公司推出的一种面向对象的、可视化编程工具,它简单易用,适合初学者进行程序开发。在这个项目中,开发者使用VB创建...
在实现邮件收发的过程中,首先需要一个用户界面,提供发送和接收邮件的选项。用户输入邮箱账号和密码后,程序通过SMTP协议连接到邮件服务器,进行身份验证。然后,使用SMTP协议发送邮件,这个过程涉及构建邮件头部...
Java邮件收发是Java开发中一个实用的功能,它允许程序自动发送和接收电子邮件。在Java中,这主要通过使用JavaMail API来实现。JavaMail API是一个开源库,它提供了丰富的接口和类,使得开发者能够方便地处理邮件服务...
这是一个关于邮件收发器的源码项目,主要涵盖了如何在C#环境中开发一个简单的邮件发送和接收应用程序。这个项目的源代码包含多个关键组件,让我们逐一分析。 首先,`MailSendAndReceive`是项目的根目录,它包含了...
邮件收发的程序,内容和代码都很详细,值得参考
CGI邮件收发程序是一种基于Common Gateway Interface (CGI)技术的应用,用于通过Web服务器接收和发送电子邮件。这个汉化版特别适合那些希望通过网页界面管理自己邮件的用户,无需依赖特定的邮件客户端软件。CGI是Web...
在本案例中,我们讨论的是一个用C++语言编写的简单邮件发送程序。C++是一种强大且灵活的编程语言,适合开发各种类型的应用,包括系统软件、游戏引擎以及像邮件发送这样的实用工具。 【SMTP协议】 邮件发送程序的...
首先,我们需要了解Java中的JavaMail API,这是一个开源库,用于处理邮件相关的任务。在Java程序中,我们主要使用`javax.mail`和`javax.mail.internet`这两个包下的类来完成邮件的收发工作。 **1. 邮件协议** 在...
本项目“简单的邮件收发器”是利用C#实现的一个基础的邮件客户端,它具备邮件的发送、接收以及处理附件等核心功能。下面我们将深入探讨这个项目涉及到的关键知识点。 1. **SMTP(Simple Mail Transfer Protocol)**...
标题“内部简易邮件收发功能java实现”表明我们要探讨的是如何使用Java编程语言来构建一个简单的电子邮件系统。这个系统可能包含发送和接收邮件的基本功能,适用于小型项目或内部通信需求。 描述中的链接指向了一个...
电子邮件收发程序是计算机软件系统中的一个重要组成部分,特别是在企业级通信和日常个人通讯中发挥着不可或缺的作用。在C++环境中,开发这样的程序涉及到对SMTP(简单邮件传输协议)和POP3(邮局协议版本3)的理解与...
在VB(Visual Basic)编程环境中,开发一个收发邮件程序是一项常见的任务,尤其适用于自动化办公或数据通信场景。VB提供了一种简单的方式来实现这个功能,主要通过使用System.Net.Mail命名空间中的类。以下是对VB...
本项目“C#邮件收发系统源程序”是一个针对初学者的实践教程,旨在帮助他们理解如何利用C#语言来实现邮件的发送和接收功能。这个系统通过调用mail.dll中的封装函数,实现了SMTP、POP3和IMAP协议,这些都是电子邮件...