最近项目发邮件程序出了问题,发现无法支持smtp.gmail.com邮件服务器,在网上查了些资料,找到了支持gmail邮件发送的处理方法,并做了测试验证:
有关javamail各个属性的介绍,请查看以下网址:
http://javamail.kenai.com/nonav/javadocs/com/sun/mail/smtp/package-summary.html
import java.util.Date;
import java.util.Properties;
import javax.mail.Authenticator;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.PasswordAuthentication;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.AddressException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
public class MyMailSender
{
private String hostName = "smtp.gmail.com";
private String userName = "******";
private String userPwd = "******";
private String fromUserMail = "******";
private String toUserMail = "******";
public void sendTestMail() throws AddressException, MessagingException
{
Properties mailProps = new Properties();
mailProps.setProperty("mail.smtp.host", this.hostName);
mailProps.setProperty("mail.smtp.starttls.enable", "true");
mailProps.setProperty("mail.smtp.auth", "true");
mailProps.setProperty("mail.smtp.quitwait", "false");
//如果不要对服务器的ssl证书进行受信任检查,测添加以下语句
//mailProps.setProperty("mail.smtp.ssl.trust","*");
Session mailSession = Session.getDefaultInstance(mailProps,
new Authenticator()
{
protected PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication(userName, userPwd);
}
});
Message mailMessage = new MimeMessage(mailSession);
mailMessage.setFrom(new InternetAddress(this.fromUserMail));
mailMessage.setRecipients(Message.RecipientType.TO,
InternetAddress.parseHeader(this.toUserMail, false));
mailMessage.setSubject("This is a test mail.");
mailMessage.setText("This is a test mail for gmail");
mailMessage.setSentDate(new Date());
Transport.send(mailMessage);
}
public static void main(String[] args)
{
try
{
new MyMailSender().sendTestMail();
}
catch (AddressException e)
{
e.printStackTrace();
}
catch (MessagingException e)
{
e.printStackTrace();
}
}
}
该程序分别在smtp.gmail.com,smtp.mail.yahoo.com.cn,smtp.qq.com,smtp.163.com上验证过,可以发送成功
相关推荐
下面我们将详细探讨如何使用JavaMail发送邮件,特别是如何支持多个收件人和发送多个附件。 1. **初始化Session** 首先,我们需要创建一个`Session`对象,它是JavaMail的基础,用于配置邮件服务器的相关参数,如...
基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...
### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...
geronimo-javamail_1.4_spec-1.7.1.jar
JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个功能通常涉及到SMTP(简单邮件传输协议)和其他相关的互联网邮件协议。在JavaMail中,`mail.jar` 和 `activation.jar` 是两个关键的库...
本示例将重点介绍如何使用JavaMail库来实现163邮箱向腾讯邮件发送邮件的流程。 首先,确保你的项目中已经包含了JavaMail所需的依赖。通常,这可以通过在Maven或Gradle的构建文件中添加对应的依赖完成。例如,如果你...
JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这...
JavaMail是一种广泛使用的Java库,用于在应用程序中发送电子邮件。这个标题"JavaMail发送邮件(文本、html、附件)"涵盖了使用JavaMail API发送不同格式邮件的核心功能。下面将详细介绍如何利用JavaMail发送文本、...
JavaMail是一种在Java环境中发送和接收电子邮件的标准API,它提供了丰富的功能来处理复杂的邮件操作。在Struts2框架中集成JavaMail服务,可以方便地在Web应用中实现邮件的发送功能。下面我们将深入探讨JavaMail的...
在Java中,我们主要依赖JavaMail API来实现SMTP邮件发送功能。JavaMail API提供了一组接口和类,使得开发者能够方便地在Java应用中创建和发送邮件。 1. **引入依赖** 要使用JavaMail API,我们需要在项目中引入`...
06 使用JavaMail发送带附件的邮件.exe06 使用JavaMail发送带附件的邮件.exe
在IT行业中,发送电子邮件是一项常见的任务,而JavaMail是一个广泛使用的API,用于处理与电子邮件相关的各种操作。在尝试使用JavaMail发送邮件时,如果邮件服务器要求使用SSL(Secure Socket Layer)或TLS...
在Java编程环境中,发送电子邮件是一项常见的任务,JavaMail API提供了这样的功能。然而,要实现完整的邮件发送功能,单纯依赖`javamail.jar`是不够的,还需要`activation.jar`包。这两个库一起工作,使Java应用程序...
此外,JavaMail还支持SSL和TLS加密,以确保邮件通信的安全性。 使用JavaMail发送邮件的基本步骤如下: 1. **初始化Session**:设置邮件服务器的相关属性,如SMTP服务器地址、端口号、用户名和密码等。 ```java ...
### JAVA Web程序设计-3期(KC006) 13-1-2应用JavaMail组件发送邮件的操作步骤 #### 知识点概述 在本篇文档中,我们将深入探讨如何利用JavaMail组件实现电子邮件的发送功能。通过具体的学习步骤和实践案例,帮助...
基于JavaMail的邮件收发系统是一种用于发送和接收电子邮件的应用程序,它基于JavaMail API来实现与邮件服务器的通信,并提供用户界面来进行邮件的管理和操作。以下是对该系统实现的描述: 用户界面: 系统提供了...
JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。它提供了API来执行各种邮件操作,如发送、接收和管理电子邮件。本教程将详细讲解如何使用JavaMail API发送HTML格式的邮件。 首先,我们需要...
JavaMail 是一个强大的开源库,用于在 Java 应用程序中处理电子邮件的发送和接收。它提供了丰富的 API,使得开发者可以方便地实现邮件的发送、接收、管理等操作。在这个主题中,我们将深入探讨如何使用 JavaMail ...
JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了一组 API,使得开发者可以方便地在 Java 应用程序中集成邮件功能。本示例将介绍如何使用 JavaMail 实现发送邮件的功能。 首先,我们需要...