`

javamail发送邮件,支持yahoo,google,163.com,qq.com邮件发送

阅读更多

最近项目发邮件程序出了问题,发现无法支持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 发送邮件源码(含mail.jar)

    下面我们将详细探讨如何使用JavaMail发送邮件,特别是如何支持多个收件人和发送多个附件。 1. **初始化Session** 首先,我们需要创建一个`Session`对象,它是JavaMail的基础,用于配置邮件服务器的相关参数,如...

    基于Javamail的邮件收发系统.zip

    基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件收发系统.zip基于Javamail的邮件...

    javaMail发送邮件 发送成功 收不到邮件 或收到邮件无主题无收件人乱码

    ### JavaMail发送邮件时遇到的问题及解决方法 在使用JavaMail进行邮件发送的过程中,可能会遇到以下几种常见问题:发送成功但收件方未收到邮件、邮件收到后无主题或无收件人信息以及邮件内容出现乱码等情况。本文将...

    geronimo-javamail_1.4_spec-1.7.1.jar

    geronimo-javamail_1.4_spec-1.7.1.jar

    用javaMail发送邮件

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个功能通常涉及到SMTP(简单邮件传输协议)和其他相关的互联网邮件协议。在JavaMail中,`mail.jar` 和 `activation.jar` 是两个关键的库...

    javamail实现邮箱与邮箱发送邮件

    本示例将重点介绍如何使用JavaMail库来实现163邮箱向腾讯邮件发送邮件的流程。 首先,确保你的项目中已经包含了JavaMail所需的依赖。通常,这可以通过在Maven或Gradle的构建文件中添加对应的依赖完成。例如,如果你...

    javamail发送邮件.zip

    JavaMail 是一个强大的开源库,用于在Java应用程序中发送和接收电子邮件。这个“javamail发送邮件.zip”压缩包显然包含了一个示例项目,演示如何使用JavaMail API发送包含正文文本、图片以及附件的邮件。以下是对这...

    JavaMail发送邮件(文本、html、附件)

    JavaMail是一种广泛使用的Java库,用于在应用程序中发送电子邮件。这个标题"JavaMail发送邮件(文本、html、附件)"涵盖了使用JavaMail API发送不同格式邮件的核心功能。下面将详细介绍如何利用JavaMail发送文本、...

    JavaMail发送邮件的例子

    JavaMail是一种在Java环境中发送和接收电子邮件的标准API,它提供了丰富的功能来处理复杂的邮件操作。在Struts2框架中集成JavaMail服务,可以方便地在Web应用中实现邮件的发送功能。下面我们将深入探讨JavaMail的...

    java发送邮件(smtp.sina.com)

    在Java中,我们主要依赖JavaMail API来实现SMTP邮件发送功能。JavaMail API提供了一组接口和类,使得开发者能够方便地在Java应用中创建和发送邮件。 1. **引入依赖** 要使用JavaMail API,我们需要在项目中引入`...

    06 使用JavaMail发送带附件的邮件.exe

    06 使用JavaMail发送带附件的邮件.exe06 使用JavaMail发送带附件的邮件.exe

    关于用javamail发送邮件时,由于邮件服务器要SSL,解决办法

    在IT行业中,发送电子邮件是一项常见的任务,而JavaMail是一个广泛使用的API,用于处理与电子邮件相关的各种操作。在尝试使用JavaMail发送邮件时,如果邮件服务器要求使用SSL(Secure Socket Layer)或TLS...

    JavaMail邮箱发送,activation.jar包

    在Java编程环境中,发送电子邮件是一项常见的任务,JavaMail API提供了这样的功能。然而,要实现完整的邮件发送功能,单纯依赖`javamail.jar`是不够的,还需要`activation.jar`包。这两个库一起工作,使Java应用程序...

    JavaMail发送邮件 所需activation.jar与javax.mail.jar

    此外,JavaMail还支持SSL和TLS加密,以确保邮件通信的安全性。 使用JavaMail发送邮件的基本步骤如下: 1. **初始化Session**:设置邮件服务器的相关属性,如SMTP服务器地址、端口号、用户名和密码等。 ```java ...

    JAVA Web程序设计-3期(KC006) 13-1-2应用JavaMail组件发送邮件的操作步骤.doc

    ### JAVA Web程序设计-3期(KC006) 13-1-2应用JavaMail组件发送邮件的操作步骤 #### 知识点概述 在本篇文档中,我们将深入探讨如何利用JavaMail组件实现电子邮件的发送功能。通过具体的学习步骤和实践案例,帮助...

    基于Javamail的邮件收发系统的实现.rar

    基于JavaMail的邮件收发系统是一种用于发送和接收电子邮件的应用程序,它基于JavaMail API来实现与邮件服务器的通信,并提供用户界面来进行邮件的管理和操作。以下是对该系统实现的描述: 用户界面: 系统提供了...

    javamail发送html邮件.doc.zip

    JavaMail 是一个强大的开源库,专门用于在Java应用程序中处理电子邮件。它提供了API来执行各种邮件操作,如发送、接收和管理电子邮件。本教程将详细讲解如何使用JavaMail API发送HTML格式的邮件。 首先,我们需要...

    javamail邮件群发、单发_邮件发送

    JavaMail 是一个强大的开源库,用于在 Java 应用程序中处理电子邮件的发送和接收。它提供了丰富的 API,使得开发者可以方便地实现邮件的发送、接收、管理等操作。在这个主题中,我们将深入探讨如何使用 JavaMail ...

    javaMail实现发送邮件的demo

    JavaMail 是一个开源的 Java 库,用于处理电子邮件的发送和接收。它提供了一组 API,使得开发者可以方便地在 Java 应用程序中集成邮件功能。本示例将介绍如何使用 JavaMail 实现发送邮件的功能。 首先,我们需要...

Global site tag (gtag.js) - Google Analytics