一、应用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); }}
如果有什么问题的话能够留言或者私信我!!!