package email;
import java.io.UnsupportedEncodingException;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Properties;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.mail.Authenticator;
import javax.mail.MessagingException;
import javax.mail.Multipart;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.Message.RecipientType;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeBodyPart;
import javax.mail.internet.MimeMessage;
import javax.mail.internet.MimeMultipart;
import javax.mail.internet.MimeUtility;
import org.apache.commons.mail.Email;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.apache.commons.mail.MultiPartEmail;
/**
* 发送邮件原始代码
* @author wander
*
*/
public class SendEmailDemo1 {
public static void main(String[] args) throws Exception {
// send();
send2();
}
/**
* sun的mail.jar包
*/
public static void send() throws AddressException, MessagingException, ParseException, UnsupportedEncodingException {
String from = "**@163.com";
String to = "**@qq.com";
String host = "smtp.163.com";
Properties pro = System.getProperties();//new Properties();
pro.put("mail.smtp.host", host);
pro.put("mail.smtp.auth", "true");
pro.put("mail.smtp.port", 25);
//创建SESSION
Session session = Session.getDefaultInstance(pro, new Authenticator(){
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("wandao312", "");
}
});
//打印调试信息
session.setDebug(true);
//创建消息, 设置收信人, 主题
MimeMessage message = new MimeMessage(session);
message.setFrom(new InternetAddress(from));
//RecipientType.BCC:暗送, RecipientType.CC:抄送, RecipientType.TO:收件人
message.setRecipient(RecipientType.TO, new InternetAddress(to));
message.setSubject("邮件测试标题!", "UTF-8");//此处要编码转化, 不然会出显乱码
message.setText("邮件测试内容", "UTF-8");//纯文本邮件, 如果不是此类型, 则用setContent
message.setSentDate(new Date());
//带附件-----begin--------
Multipart multipart = new MimeMultipart();
MimeBodyPart messageBodyPart = new MimeBodyPart();
String fileName1 = "D:\\dd.sql";
// 得到数据源
FileDataSource fds = new FileDataSource(fileName1);
// BodyPart添加附件本身
messageBodyPart.setDataHandler(new DataHandler(fds));
// BodyPart添加附件文件名
messageBodyPart.setFileName(MimeUtility.encodeText("dd.sql"));
multipart.addBodyPart(messageBodyPart);
//当有附件时设置邮件内容, 如果带附件, 则要再次设置内容, 不然像上面的setText是不起作用
MimeBodyPart mbp1 = new MimeBodyPart();
mbp1.setContent("邮件测试内容1", "text/html;charset=UTF-8");
multipart.addBodyPart(mbp1);
//当有附件时设置邮件内容, 当再次设置内容时, 会把第二次的当成附件
// MimeBodyPart mbp2 = new MimeBodyPart();
// mbp2.setContent("邮件测试内容2", "text/html;charset=UTF-8");
// multipart.addBodyPart(mbp2);
message.setContent(multipart);
// -----end--------
Transport.send(message);
// Transport transport = session.getTransport("smtp");
// transport.connect("name", "");
// transport.send(message);
// transport.close();
}
/**
* APACHE的common-email.jar包.
* @throws EmailException
*/
public static void send2() throws EmailException {
//不带附件 ------begin------
Email email=null;
email=new HtmlEmail();
email.setDebug(true);
email.setHostName("smtp.163.com");
email.setSmtpPort(25);
email.setAuthentication("wandao312","");
email.setSubject("test");
email.setCharset("gbk");
email.setFrom("**@163.com");
email.addTo("**@qq.com");
email.setMsg("邮件测试4");
email.send();
// ------end------
//带附件 ------begin------
/*Email multiPartEmail = new HtmlEmail();
multiPartEmail.setDebug(true);
multiPartEmail.setHostName("smtp.163.com");
multiPartEmail.setSmtpPort(25);
multiPartEmail.setAuthentication("name","");
multiPartEmail.setSubject("test");
multiPartEmail.setCharset("gbk");
multiPartEmail.setFrom("**@163.com");
multiPartEmail.addTo("**@qq.com");*/
/*EmailAttachment ea = new EmailAttachment();
ea.setPath("D:\\dd.sql");
multiPartEmail.attach(ea);*/
// multiPartEmail.send();
// ------end------
}
}
分享到:
相关推荐
在你提供的压缩包文件中,包含了三个关键元素:activation.jar、mail.jar以及SendMail.java,这些都是Java Mail发邮件所需的基本组件。 `activation.jar` 是JavaBeans Activation Framework (JAF) 的一部分,它是...
这个“java mail 发邮件 demo程序”是为了演示如何使用JavaMail API发送电子邮件而创建的一个简单示例。在这个DEMO程序中,我们将深入探讨JavaMail API的核心概念以及如何构建一个实际的邮件发送功能。 首先,...
Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和管理邮件。这个源码可能包含了一套完整的解决方案,可以与多种邮局(如Gmail, Yahoo, Hotmail等)进行交互,并且支持单个收件人和...
也许很多 同道遇到和我一样的问题,建了个web项目,写一堆代码,结果一运行老是报错!!!上网查了查,知道了原因,修改了还是不行。...如果还没有成功,你可以给我发邮件973203075@qq.com,我可以把项目也给你!!
Java Mail 是一个强大的开源库,用于在Java应用程序中处理电子邮件通信。它提供了API,使得开发者可以方便地发送、接收和管理邮件。这个压缩包文件很可能包含了一组示例代码或工具,帮助我们理解如何使用Java Mail ...
在`Mail_class.java`文件中,我们将实现以下四种类型的邮件发送: 1. **发送纯文本邮件**: 要发送纯文本邮件,你需要创建一个`Properties`对象来设置SMTP服务器的相关属性,然后通过`Session`对象初始化邮件会话...
Java Mail 发送邮件及邮件附件 Java Mail 是一个广泛使用的 Java 库,用于发送电子邮件。以下是 Java Mail 发送邮件及邮件附件的知识点。 Java Mail 简介 Java Mail 是一个 Java 库,提供了发送电子邮件的功能。...
4. **创建Message对象**:`Message`对象代表邮件本身,使用`MimeMessage`类创建它,并设置发件人、收件人、主题和正文。例如: ```java MimeMessage message = new MimeMessage(session); message.setFrom(new ...
JavaMail 是一个 Java API,用于在 Java 应用程序中发送和接收电子邮件。它提供了一个抽象层,允许开发者使用不同的电子邮件协议,例如 SMTP、POP3 和 IMAP。 在本文中,我们将讨论如何使用 JavaMail 库来代发邮件...
Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和管理邮件。在Java应用程序中,我们通常使用JavaMail API来实现邮件的自动化操作,比如发送带有附件的邮件、群发邮件等。下面将...
Java Mail邮件发送是Java开发中常见的一项功能,用于在应用程序中发送电子邮件。Java Mail API提供了一个标准的接口,使得开发者可以方便地实现SMTP(简单邮件传输协议)和其他邮件协议的功能。下面将详细介绍Java ...
Java Mail 是一个用于处理电子邮件的开源API,它允许Java开发者在应用程序中实现发送、接收和操作邮件的功能。在这个实例中,我们将深入探讨如何使用Java Mail API来发送邮件,特别是涉及中文处理和HTML格式的邮件。...
Java毕业设计源码-基于Java mail的邮件收发系统(系统+开题报告+任务书+文献综述+答辩PPT)(IT计算机)Java毕业设计源码-基于Java mail的邮件收发系统(系统+开题报告+任务书+文献综述+答辩PPT)(IT计算机)Java...
在Java Mail中,你可以设置各种参数,如发件人、收件人、主题、邮件内容等,还可以添加附件、设置抄送和密送等。 在标题和描述中提到的"java mail 发送邮件代码",通常涉及以下几个关键知识点: 1. **JavaMail API...
`Message` 对象提供了许多方法来获取邮件信息,如 `getMessageContent()` 获取邮件内容,`getFrom()` 获取发件人,`getSubject()` 获取主题,`getDate()` 获取日期等。 6. **处理MIME类型**: 邮件内容通常包含...
Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和管理邮件。在Java中,使用Java Mail API发送QQ邮件是常见的需求,尤其对于自动化通知或者服务端消息传递非常实用。以下是对这个...
Java Mail 是一个用于处理电子邮件的开源API,它允许开发者通过编程方式发送、接收和操作电子邮件。这个"java mail 收发邮件Demo源码"提供了一个实际应用示例,可以帮助我们理解如何使用Java Mail API实现邮件的收发...
基于javax.mail的邮件发送测试工具
描述中提到的“java发送邮件所需要的包”即是指JavaMail API,它包含了一系列的类和接口,例如`javax.mail.Session`,它是邮件会话对象,用于配置邮件服务器的连接参数;`javax.mail.Transport`,用于发送邮件;`...
创建`MimeMessage`对象并设置邮件信息,包括发件人、收件人、主题和正文: ```java MimeMessage message = new MimeMessage(session); message.setFrom(new InternetAddress("your_email@example.com")); message....