package dec; import java.util.Properties; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; import javax.mail.internet.MimeMessage; /** * * * <p>Title: Java发送邮件测试类 /p> * * <p>Description: 示例 业务类</p> * * <p>Copyright: Copyright (c) 2012</p> * * * @author dml@2012-12-17 * @version 1.0 */ /**************************************************************** * 对QQ邮箱使用(对于其他的使用类似的你应该也会更改了) 首先把QQ邮箱的POP3 SMTP打开 首先确定你的网络正常、非代理 * 【确定你的QQ邮箱开启了SMTP】!!!! 如果没有开启,那么这样设置下 设置->账户 --在下面-- 把这个选上 [√]SMTP发信后保存到服务器 ****************************************************************/ public class JavaMail { // 设置服务器 private static String KEY_SMTP = "mail.smtp.host"; private static String VALUE_SMTP = "smtp.qq.com"; // 服务器验证 private static String KEY_PROPS = "mail.smtp.auth"; private static boolean VALUE_PROPS = true; // 发件人用户名、密码 private String SEND_USER = "********@qq.com"; private String SEND_UNAME = "********"; private String SEND_PWD = "*******"; // 建立会话 private MimeMessage message; private Session s; /* * 初始化方法 */ public JavaMail() { Properties props = System.getProperties(); props.setProperty(KEY_SMTP, VALUE_SMTP); props.put(KEY_PROPS, VALUE_PROPS); s = Session.getInstance(props); /* s.setDebug(true);开启后有调试信息 */ message = new MimeMessage(s); } /** * 发送邮件 * * @param headName * 邮件头文件名 * @param sendHtml * 邮件内容 * @param receiveUser * 收件人地址 */ public void doSendHtmlEmail(String headName, String sendHtml, String receiveUser) { try { // 发件人 InternetAddress from = new InternetAddress(SEND_USER); message.setFrom(from); // 收件人 InternetAddress to = new InternetAddress(receiveUser); message.setRecipient(Message.RecipientType.TO, to); // 邮件标题 message.setSubject(headName); String content = sendHtml.toString(); // 邮件内容,也可以使纯文本"text/plain" message.setContent(content, "text/html;charset=GBK"); message.saveChanges(); Transport transport = s.getTransport("smtp"); // smtp验证,就是你用来发邮件的邮箱用户名密码 transport.connect(VALUE_SMTP, SEND_UNAME, SEND_PWD); // 发送 transport.sendMessage(message, message.getAllRecipients()); transport.close(); System.out.println("send success!"); } catch (AddressException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (MessagingException e) { e.printStackTrace(); } } public static void main(String[] args) { JavaMail se = new JavaMail(); se.doSendHtmlEmail("邮件头文件名", "邮件内容", "*******@***.com"); } }
所需jar包只有一个, mail.jar
需要注意的是,执行程序前需要保证邮箱开启了SMTP,本例使用QQ邮箱进行测试
相关推荐
java发送邮件工具类,用于java程序实现邮件的发送功能
java发邮件
Java发送邮件功能是Java开发中常见的一项任务,它允许开发者通过编程的方式实现电子邮件的发送,包括正文内容、附件以及抄送等高级功能。在Java中,我们主要利用JavaMail API来实现这一目标。 JavaMail API是一个...
Java发送邮件是编程中常见的一项任务,特别是在自动化通知、数据报告或者用户验证等场景下。在Java中,我们可以使用JavaMail API来实现邮件的发送功能。以下是对这一知识点的详细阐述: 1. **JavaMail API**:...
本文将详细讲解如何使用Java发送邮件,并着重介绍消息格式化的概念及其重要性。 首先,发送邮件的核心类是JavaMail API提供的`javax.mail`包中的`Session`, `Message`, `Transport`等类。为了发送邮件,我们需要...
Java 实现邮件发送是指使用 Java 语言来发送电子邮件的过程,下面将详细介绍 Java 实现邮件发送的示例代码和实现逻辑。 首先,需要引入 Maven 依赖项 javax.mail,以便使用 JavaMail API 发送邮件。JavaMail API ...
JavaMail SDK是Java发送邮件的核心工具,通过配置Session,创建并设置Message,以及使用Transport发送邮件,开发者可以轻松地在Java应用中实现邮件功能。同时,JavaMail还提供了丰富的功能,如HTML邮件、附件、抄送...
Java发送邮件是一个常见的任务,通常用于自动化通知、报表发送或者用户互动等场景。在Java中,我们可以使用JavaMail API来实现这个功能。以下是对提供的代码片段的详细解释和相关知识点的扩展: 首先,我们看到一个...