Javaweb 之邮件发送

本贴最后更新于 1569 天前,其中的信息可能已经渤澥桑田

邮件发送

一、邮件服务器与传输协议

  • 要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。
  • SMTP 服务器地址:一般是 smtp.xxx.com,比如 163 邮箱是 smtp.163.com,qq 邮箱是 smtp.qq.com。
  • SMTP 协议
    通常把处理用户 smtp 请求(邮件发送请求)的服务器称之为 SMTP 服务器(邮件发送服务器)。
  • POP3 协议
    通常把处理用户 pop3 请求(邮件接收请求)的服务器称之为 POP3 服务器(邮件接收服务器)。

二、Java 发送邮件

  1. 需要使用的 jar 包
  • mail.jar
  • activation.jar
  1. 代码实现
public class SendEmail { public static void main(String[] args) throws Exception { Properties prop = new Properties(); prop.setProperty("mail.host","smtp.qq.com"); // 设置qq邮件服务器 prop.setProperty("mail.transport.protocol","smtp"); // 邮件发送协议 prop.setProperty("mail.smtp.auth","true"); // 需要验证用户名密码 // 设置SSL加密 qq邮箱固定的 MailSSLSocketFactory sf = new MailSSLSocketFactory(); sf.setTrustAllHosts(true); prop.put("mail.smtp.ssl.enable","true"); prop.put("mail.smtp.ssl.socketFactory",sf); // 使用javamail发送邮箱的五个步骤 // 1. 创建定义整个应用程序所需要的环境信息的Session对象 Session session = Session.getDefaultInstance(prop, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { // 发件人邮箱用户名,授权码 return new PasswordAuthentication("1289066006@qq.com","ltsoimozvswdbadf"); } }); // 开启session的debug模式 session.setDebug(true); // 2. 通过Session得到transport对象 Transport ts = session.getTransport(); // 3. 使用邮箱的用户名和授权码连上服务器 ts.connect("smtp.qq.com", "1289066006@qq.com", "ltsoimozvswdbadf"); // 4. 创建邮件 MimeMessage message = new MimeMessage(session); //创建邮件对象 message.setFrom(new InternetAddress("1289066006@qq.com")); // 指定邮件的发件人 message.setRecipient(Message.RecipientType.TO, new InternetAddress("1289066006@qq.com")); // 指定收件人 message.setSubject("简单邮件"); // 设置邮件的标题 message.setContent("你好啊!","text/html;charset=UTF-8"); // 5. 发送邮件 ts.sendMessage(message,message.getAllRecipients()); ts.close(); } }
  • SMTP

    SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式。SMTP 协议属于 TCP/IP 协议簇,它帮助每台计算机在发送或中转信件时找到下一个目的地。

    4 引用 • 18 回帖 • 637 关注
  • Java

    Java 是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由 Sun Microsystems 公司于 1995 年 5 月推出的。Java 技术具有卓越的通用性、高效性、平台移植性和安全性。

    3194 引用 • 8214 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...