使用Java Mail发送邮件

本笔记参考自:高爽|Coder,原文地址:http://blog.csdn.net/ghsau/article/details/17839983

  JavaMail是SUN提供给开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持常用的邮件协议,如SMTP、POP3、IMAP,开发人员使用JavaMail编写邮件程序时,无需考虑底层的通信细节(Socket),JavaMail也提供了能够创建出各种复杂MIME格式的邮件内容的API。使用JavaMail,我们可以实现类似OutLook、FoxMail的软件。虽然JavaMail(仅支持JDK4及以上)也是Java的API之一,但是却没有直接加入到JDK中,所以我们需要另行下载。另外,JavaMail依赖JAF(JavaBeans Activation Framework),JAF在Java6之后已经合并到JDK中,而JDK5之前需要另外下载JAF的类库。

  JavaMail:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html#javamail-1.4.5-oth-JPR

  JAF:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-java-plat-419418.html#jaf-1.1.1-fcs-oth-JPR

本人测试代码

package org.sunny.shop.utils;

import java.util.Properties;

import javax.mail.Address;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.Session;
import javax.mail.Transport;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;

public class EmailUtil {

    // 主机地址
    private static String host = "smtp.163.com";
    // 发件人,填写你的邮箱账号
    private static String from = "[email protected]";
    // 发件人密码,填写你自己的邮箱密码
    private static String password = "****";
    /***发件正文***/
    private static String link = "http://192.168.0.119:8080/";

    private static String getContent(String link){
        String content = "<h3>这是一封转到Tomcat服务器主页的测试邮件,点击此链接进行测试!</h3>"
                + "<a href=‘"+ link +"‘>点此激活</a>";
        return content ;
    }

    public static void sendEmail(String to, String content) {

        /*** 1、创建Session ***/
        Properties props = new Properties();
        // 开启调试模式
        props.setProperty("mail.debug", "true");
        // 发送主机需要身份验证
        props.setProperty("mail.smtp.auth", "true");
        // 设置主机名称
        props.setProperty("mail.host", host);
        // 设置主机端口
        props.setProperty("mail.port", "25");
        // 发送协议名称
        props.setProperty("mail.transport.protocol", "smtp");
        Session session = Session.getInstance(props);
        /*** 2、创建邮件对象 ***/
        Message msg = new MimeMessage(session);
        try {
            // 设置发件人
            msg.setFrom(new InternetAddress(from));
            // 设置标题
            msg.setSubject("这是一封测试邮件");
            // 设置内容
            msg.setContent(content, "text/html;charset=UTF-8");
            /*** 3、发送邮件 ***/
            Transport transport = session.getTransport();
            transport.connect(from, password);
            transport.sendMessage(msg, new Address[] { new InternetAddress(to) });
            transport.close();
        } catch (MessagingException e) {
            e.printStackTrace();
        }
        System.out.println("send mail success !!");
    }public static void main(String[] args) {    
        sendEmail("收件人账号@qq.com", getContent(link + "index.action"));
    }

}
时间: 2024-10-06 00:40:05

使用Java Mail发送邮件的相关文章

java mail发送邮件

import java.io.UnsupportedEncodingException;import java.util.Date;import java.util.Properties; import javax.mail.Authenticator;import javax.mail.Message;import javax.mail.MessagingException;import javax.mail.NoSuchProviderException;import javax.mail.

java mail发送邮件demo 代码

java mail发送邮件demo,引入mail.jar,运行测试发送ok[代码][Java]代码     01import java.util.Date;02import java.util.Properties;0304import javax.mail.Authenticator;05import javax.mail.Message;06import javax.mail.MessagingException;07import javax.mail.PasswordAuthenticat

Java mail发送邮件附件出现.eml文件夹

在使用JAVA MAIL发送邮件时,163邮箱和QQ邮箱收到PDF附件,格式错误如下图: 163邮箱: QQ邮箱: 经历了很长时间的研究和测试,错误原因为在邮件正文和邮件附件用的MimeBodyPart对象是同一个,进而导致上述现象,解决办法为正文是一个MimeBodyPart对象,一个附件是一个MimeBodyPart对象.正确代码如下: 原文地址:https://www.cnblogs.com/XH09/p/10981329.html

Java Mail 发送邮件(个人备份)

package net.guoguoda.admin.common.utils; import java.io.File; import java.io.UnsupportedEncodingException; import java.util.Properties; import javax.activation.DataHandler; import javax.activation.DataSource; import javax.activation.FileDataSource; i

利用java mail发送邮件(转)

JavaMail是SUN提供给开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发类库,支持常用的邮件协议,如SMTP.POP3.IMAP,开发人员使用JavaMail编写邮件程序时,无需考虑底层的通信细节(Socket),JavaMail也提供了能够创建出各种复杂MIME格式的邮件内容的API.使用JavaMail,我们可以实现类似OutLook.FoxMail的软件.虽然JavaMail(仅支持JDK4及以上)也是Java的API之一,但是却没有直接加入到JDK中,所以我们需要另行

简单的java mail发送邮件实例

mail.jar ,commons-email-X.X.jar ,activation.jar ,log4j.jar  这四个jar,放进项目里 下载地址 http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-eeplat-419426.html 该类实现了较完整的邮件发送功能,包括以HTML格式发送,添加附件和抄送人.下面是具体的代码: 先写个简单的mail对象 packag

Java Mail 发送邮件

通过SMTP协议, 编写客户端向邮件服务器提交发送邮件请求 package mail import javax.mail.internet.MimeMessage import java.util.Properties import javax.mail.Session import javax.mail.Message import javax.mail.Transport import java.util.Date import javax.mail.MessagingException f

使用java mail 发送邮件

1.关联jar包:   activation.jar   mail.jar 2.调用 @Test public void test1() { List<String> imageUrlList = Arrays.asList(new String[] { "src/美女1.jpg", "src/2.jpg", "src/2.jpg" }); List<String> attachmentUrlList = Arrays.a

Android Java Mail与Apache Mail发送邮件对比

原文链接: 一.邮件简介  一封邮件由很多信息构成,主要的信息如下,其他的暂时不考虑,例如抄送等:  1.收件人:收件人的邮箱地址,例如[email protected]  2.收件人姓名:大部分的邮件显示时都会显示,例如loadfate [email protected]  3.发件人:发件人的邮箱地址  4.发件人姓名:  5.主题:邮件的标题  6.内容及附件:邮件的主要内容 二.使用Java发邮件的通用步骤  一般的项目中没有单独的邮件服务器,一般情况下都是使用别人的服务器.  1.设置