Java发送邮件的简单实现

Java发送邮件的简单实现

大家好,又见面了,我是全栈君。

使用Oracle官方的JavaMail进行实现,JavaMail下载地址:https://java.net/projects/javamail/pages/Home
将下载好的jar包加入到工程路径中就OK了,我使用的是最新的1.5.2版本号的javax.mail.jar。

关于邮件协议可參考:什么是POP3、SMTP和IMAP?
以下的演示样例中是通过我的新浪邮箱(theonegis@sina.cn)给QQ邮箱(123456789@qq.com不知道是谁的邮箱)发邮件。以下给出实现代码:

import java.util.Date;
import java.util.Properties;

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

public class SimpleMail {
    public static void main(String[] args) {
        Properties props = new Properties();
        //这里使用smtp协议发送邮件。我的新浪邮箱是.cn的不是.com的,所以smtpserver为smtp.sina.cn
        props.put("mail.smtp.host", "smtp.sina.cn");
        Session session = Session.getInstance(props, null);

        try {
            MimeMessage msg = new MimeMessage(session);
            //设置发件人邮箱
            msg.setFrom("theonegis@sina.cn");
            //设置收件人邮箱
            msg.setRecipients(Message.RecipientType.TO, "123456789@qq.com");
            //设置主题
            msg.setSubject("This is a test");
            //设置日期
            msg.setSentDate(new Date());
            //设置正文内容
            msg.setText("How are you?

\nThis is a test, please do not reply!"); //发送邮件,參数为邮件信息,发件人邮箱和发件人邮箱password Transport.send(msg, "theonegis@sina.cn", "这里是发件人的password"); } catch (MessagingException mex) { System.err.println("Send failed! Exception: " + mex); } } }

JavaMail中比較重要的的类是Session、Store和Folder。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/115687.html原文链接:https://javaforall.net

(0)
上一篇 2022年1月31日 下午10:00
下一篇 2022年1月31日 下午11:00


相关推荐

  • c语言return两个数_c语言里return0有什么用

    c语言return两个数_c语言里return0有什么用c语言return能不能有2个以上返回值c语言return能不能有2个返回值比如说return(a,b)更新时间:2019-05-1806:19最满意答案不是,要想返回2个以上返回值,建议返回值用数组或者参数用指针模式,直接改写2011-05-04回答其他回答如果你想返回多值的话,建议使用数组或指针(数组其实也是指针)2011-05-04回答不能的,除非你定义一个结构typedefstru…

    2025年7月13日
    5
  • Academic social networks: Modeling, analysis, mining and applications 2019翻译[通俗易懂]

    Academic social networks: Modeling, analysis, mining and applications 2019翻译[通俗易懂]Academicsocialnetworks:Modeling,analysis,miningandapplications摘要:在快速增长的学术大数据背景下,社交网络技术最近引起了学术界和工业界的广泛关注。学术社会网络的概念正是在学术大数据的背景下产生的,指的是由学术实体及其关系形成的复杂的学术网络。有大量的学术大数据处理方法来分析学术社交网络丰富的结构类型和相关信息。现在各种学术数据都很容易获取,这让我们更容易分析和研究学术社交网络。本研究调查了学术社交网络的背景、现状和趋势。我们首先

    2022年6月1日
    33
  • 岭回归、LASSO回归(包括公式推导)[通俗易懂]

    岭回归、LASSO回归(包括公式推导)[通俗易懂]前面的两篇文章比较清楚浅显的介绍了线性回归、多项式回归,并了解到其实多项式回归也可以看作是一种特殊的线性回归形式,也就是说回归的核心就是线性回归。其原理都是最小二乘法,这是一种很简单、很方便的算法,但也有它的局限性,所以本文讲述另外的回归方式岭回归、LASSO回归,作为一个补充,解决最小二乘法的一些缺点。最小二乘法的局限性:                 …

    2022年5月3日
    164
  • 徐磊语法 6 7 时态的正确定义

    徐磊语法 6 7 时态的正确定义时态的正确定义时 指时间状语态 动作和时间状语之间的关系决定态 在前面 在后面 在时间状语这一刻 动作已经是什么样子的 也就是跟时间状语的关系 先通过时 确定时间状语的某一点 在通过态 告诉动作跟这一点的位置关系 间接表达动作发生的准确时间 时的正确定义 现在时 时间状语是现在动作发生在过去 也用 进行态 过去时 时间状语是过去将来时 时间状语是将来过去将来时 时间状语是

    2026年3月18日
    2
  • JSP中EL表达式的用法详解(必看篇)[通俗易懂]

    JSP中EL表达式的用法详解(必看篇)[通俗易懂]转自:https://www.jb51.net/article/105314.htmEL全名为ExpressionLanguageEL语法很简单,它最大的特点就是使用上很方便。接下来介绍EL主要的语法结构:${sessionScope.user.sex}所有EL都是以${为起始、以}为结尾的。上述EL范例的意思是:从Session的范围中,取得用户的性别。假若依照之前JSPScriptle…

    2022年7月28日
    11
  • 标准化和归一化,请勿混为一谈,透彻理解数据变换[通俗易懂]

    标准化和归一化,请勿混为一谈,透彻理解数据变换[通俗易懂]标准化与归一化1、标准化(Standardization)和归一化(Normalization)概念1.1、定义1.2、联系和差异一、联系二、差异1.3、标准化和归一化的多种方式2、标准化、归一化的原因、用途3、什么时候Standardization,什么时候Normalization4、所有情况都应当Standardization或Normalization么5、一些其他的数据变换方式5.1、l…

    2022年6月23日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号