随着时代的不断向前发展,人们对于新技术新应用开始投入更多的精力与时间。关于java所能应用的范围,在不断地扩大。今天主要为大家介绍java中邮件发送时的协议有哪几条,以及如何实现纯文本发送邮件。
首先,我们需要知道的是,要在网络上实现邮件功能,必须要有专门的邮件服务器。这些邮件服务器就像是我们在现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。SMTP服务器地址:一般是 smtp.xxx.com,比如163邮箱是smtp.163.com,qq邮箱是smtp.qq.com。
它主要包括两个协议。
第一个:SMTP协议,通常把处理用户smtp请求(邮件发送请求)的服务器称之为SMTP服务器(邮件发送服务器)。
第二个:POP3协议,通常把处理用户pop3请求(邮件接收请求)的服务器称之为POP3服务器(邮件接收服务器)。
接下来通过实例代码为大家展示如何在java中实现纯文本邮件的发送。代码如下:
package org.westos.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 SendEamil { public static void main(String[] args) throws MessagingException, GeneralSecurityException { //创建一个配置文件并保存 Properties properties = new Properties(); properties.setProperty("mail.host", "smtp.qq.com"); properties.setProperty("mail.transport.protocol", "smtp"); properties.setProperty("mail.smtp.auth", "true"); //QQ存在一个特性设置SSL加密 MailSSLSocketFactory sf = new MailSSLSocketFactory(); sf.setTrustAllHosts(true); properties.put("mail.smtp.ssl.enable", "true"); properties.put("mail.smtp.ssl.socketFactory", sf); //创建一个session对象 Session session = Session.getDefaultInstance(properties, new Authenticator() { @Override protected PasswordAuthentication getPasswordAuthentication() { return new PasswordAuthentication("619046217@qq.com", "16位授权码"); } }); //开启debug模式 session.setDebug(true); //获取连接对象 Transport transport = session.getTransport(); //连接服务器 transport.connect("smtp.qq.com", "619046217@qq.com", "16位授权码"); //创建邮件对象 MimeMessage mimeMessage = new MimeMessage(session); //邮件发送人 mimeMessage.setFrom(new InternetAddress("619046217@qq.com")); //邮件接收人 mimeMessage.setRecipient(Message.RecipientType.TO, new InternetAddress("875203654@qq.com")); //邮件标题 mimeMessage.setSubject("Hello Mail"); //邮件内容 mimeMessage.setContent("我的想法是把代码放进一个循环里", "text/html;charset=UTF-8"); //发送邮件 transport.sendMessage(mimeMessage, mimeMessage.getAllRecipients()); //关闭连接 transport.close(); } }
以上就是java邮件发送协议包括哪几条,以及如何发送纯文本的邮件。想要了解更多java常见问题,敬请关注奇Q工具网。
推荐阅读: