共计 3022 个字符,预计需要花费 8 分钟才能阅读完成。
一、应用 Mail.jar 包发送邮件
首先先介绍如何应用 Mail.jar 包发送邮件,这里须要去下载 mail.jar 包导入进以后工程,能够去 maven 仓库外面查找下载,代码如下:
public class TestMain {public static void main(String[] args) throws MessagingException {
//1、下载一个 mail.jar
//2、导包
//3、创立一个用于寄存配置信息的对象
Properties prop = new Properties();
//4、设置发送邮件须要的一些信息
// 设置发送邮件的协定
prop.put("mail.transport.protocol", "smtp");
// 设置发送邮件的主机名
prop.put("mail.smtp.host", "smtp.qq.com");
// 设置发送邮件的端口,默认 25,可不写
// prop.put("mail.smtp.port", "xx");
// 设置发送邮件时,是否须要进行身份认证,可不写
// prop.put("mail.smtp.auth", "true");
// 设置是否应用 ssl 平安连贯
prop.put("mail.smtp.ssl.enable", "true");
//5、创立一个 Session 对象(在 Java 和邮箱之间建设一个连贯)Session session = Session.getDefaultInstance(prop);
//6、通过 session 对象获取一个 Transport 对象(能够了解为一个输入流)Transport transport = session.getTransport();
//7、获取邮件服务器的认证
//user: 发件人的邮箱
//password:发件人的认证码
String user = "cing_self0731@qq.com";
String password = "ufhannqpmjvdccbi";
transport.connect(user, password);
//8、创建对象和邮件的映射 关系
Message message = createMessage(session);
//9、发送邮件
// 第二个参数是获取所有收件人的地址
transport.sendMessage(message, message.getAllRecipients());
//10、敞开通道
transport.close();}
// 创立一个邮件对象
// 参数:一个 Session(连贯对象)// 返回值:邮件对象(映射)MimeMessage private static Message createMessage(Session session) throws MessagingException {
//1、创立一个邮件对象
Message message = new MimeMessage(session);
//2、设置邮件信息
//1)设置发送人
message.setFrom(new InternetAddress("cing_self0731@qq.com"));
//2)设置接管人
// 参数:// 收件人类型
//To:收件人
//CC:抄送人
//BCC:密送
// 收件人地址
message.setRecipient(Message.RecipientType.TO, new InternetAddress("cing_self0731@qq.com"));
//3)设置发送工夫
// 这里用的是以后工夫
message.setSentDate(new Date());
//4)设置邮件主题
message.setSubject("邮件主题");
//5)设置邮件注释
message.setText("邮件注释");
// 保留以上设置
message.saveChanges();
return message;
}
}
-
上述代码中波及到一个邮箱服务器的认证码,获取步骤如下(我这里用的是 QQ 邮箱):
- 1)登录 QQ 邮箱
- 2)找到设置,点击进入
- 3)找到第三方服务
- 4)如果没有显示已开启,则点击开启服务,开启之后再点击生成受权码,将获取到的受权码写入代码中
二、应用 Spring 发送邮件
应用 Spring 发送邮件须要依赖 spring-context-support 包,所以在应用之前先确认这个包导没导入
- 1)配置信息如下:
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
https://www.springframework.org/schema/beans/spring-beans.xsd">
<!-- email-->
<bean id="sender" class="org.springframework.mail.javamail.JavaMailSenderImpl">
<property name="host" value="smtp.qq.com"/>
<property name="username" value="cing_self0731@qq.com"/>
<property name="password" value="xentlpmffyadccgi"/>
<property name="defaultEncoding" value="UTF-8"/>
<property name="javaMailProperties">
<props>
<prop key="mail.smtp.auth">true</prop>
<prop key="mail.smtp.ssl.enable">true</prop>
</props>
</property>
</bean>
</beans>
- 2)主函数代码:
public class TestMain {public static void main(String[] args) throws MessagingException {ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
JavaMailSender sender = (JavaMailSender) context.getBean("sender");
// 创立一个邮件对象
MimeMessage mimeMessage = sender.createMimeMessage();
// 通过 helper 帮咱们设置邮件内容
MimeMessageHelper helper = new MimeMessageHelper(mimeMessage);
// 设置发件人
helper.setFrom("cing_self0731@qq.com");
// 设置收件人
helper.setTo("cing_self0731@qq.com");
// 设置邮件主题
helper.setSubject("主题");
// 设置邮件注释
helper.setText("注释");
// 发送邮件
sender.send(mimeMessage);
}
}
如果有什么问题的话能够留言或者私信我!!!
正文完