邮件传送

电子邮件

电子邮件是依靠邮箱服务器来完成的;

SMTP服务器地址:一般是 smtp.xxx.com,例如:qq邮箱是smtp.qq.com。

电子邮箱(E-Mail地址)的获得需要在邮件服务器上进行申请。比如我们要使用QQ邮箱,就需要开通邮箱功能;

传输协议

SMTP协议

发送邮件:

通常把处理用户smtp请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器)。

POP3协议

接收邮件:

通常把处理用户pop3请求(邮件接收请求)的服务器称之为POP3服务器(邮件接收服务器)。

邮件收发原理

  1. 发送方通过smtp协议连接到Smtp服务器,将邮件发送到服务器中,并保存到邮箱空间;
  2. 发送方的邮箱与接受方的邮箱建立连接,然后将邮件发送到接收方的邮箱;
  3. 接收方的邮箱将邮件接收并保存到邮箱空间,通知接收方有邮件;
  4. 接收方通过Pop3协议连接到Pop3服务器收取邮件;
  5. 接收方从邮箱空间下载邮件;

Java发送邮件

使用Java应用程序发送 E-mail 十分简单,首先就是在电脑上安装 JavaMail API 和Java Activation Framework (JAF) 。

  • 可以从 Java 网站下载最新版本的 JavaMail,打开网页右侧有个 Downloads 链接,点击它下载。
  • 可以从 Java 网站下载最新版本的 JAF(版本 1.1.1)

也可以使用以下链接:

JavaMail 是sun公司(现以被甲骨文收购)为方便Java开发人员在应用程序中实现邮件发送和接收功能而提供的一套标准开发包,它支持一些常用的邮件协议,如前面所讲的SMTP,POP3,IMAP,还有MIME等。我们在使用JavaMail API 编写邮件时,无须考虑邮件的底层实现细节,只要调用JavaMail 开发包中相应的API类就可以了。

1.纯文本文件

1.先在Java中导入包;

2.QQ邮箱中获取对应的权限

QQ邮箱需要安全验证,我们需要获取他对应的权限;

QQ邮箱-->邮箱设置-->账户

将第一条的服务开启(开启服务会生成16位的授权码)

测试编写代码

编写步骤:

  1.  创建包含邮件服务器的网络连接信息的Session对象。
  2. 创建代表邮件内容的Message对象
  3. 连接服务器  transport  通过session对象获取transport,需要捕获抛出异常
  4. 连接服务器,需要抛出异常
  5. 连接成功,需要编写邮件
  •      创建邮件对象
  •      邮件发送人
  •      邮件接收人
  •      邮件主题
  •      邮件内容

  6 发送邮件

 7. 关闭连接

1.纯文本邮件 

package com.zhang.email;

import com.sun.mail.util.MailSSLSocketFactory;

import javax.mail.*;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import java.security.GeneralSecurityException;
import java.util.Properties;

public class SendMail {
    public static void main(String[] args) throws MessagingException, GeneralSecurityException {
        /*
        * 1.创建配置文件,保存并读取数据
        * 2.存属性
        * 3.设置发送协议
        * 4.设置权限(用户是否需要验证)
        * ======================
        * 1.创建session会话对象
        * 2.连接服务器  transport  通过session对象获取transport,需要捕获抛出异常
        * 3.连接服务器,需要抛出异常
        * 4.连接成功,需要发送邮件
        *      创建邮件对象
        *      邮件发送人
        *      邮件接收人
        *      邮件主题
        *      邮件内容
        * 5.发送邮件
        * 6.关闭连接
        * =======================
        * QQ特性
        * 建立安全的链接
        *
        * */
        Properties properties = new Properties();
        //设置QQ邮件服务器
        properties.setProperty("mail.host","smtp.qq.com");
        //设置邮件发送协议
        properties.setProperty("mail.transport.protocol","smtp");
        //需要用户验证密码
        properties.setProperty("mail.smtp.auth","false");


        // 关于QQ邮箱,还要设置SSL加密,加上以下代码即可
        MailSSLSocketFactory sf = new MailSSLSocketFactory(
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值