本文共 2377 字,大约阅读时间需要 7 分钟。
设置 --> 账户 -- > 开启POP3/STMP服务,然后得到一个授权码。
<dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4.7</version></dependency>mail.properties文件
#服务器主机名 smtp.xx.commail.smtp.host=smtp.qq.commail.smtp.username=你的邮箱#客户端授权码mail.smtp.password=你的授权码#编码字符mail.smtp.defaultEncoding=utf-8#是否进行用户名密码校验mail.smtp.auth=true#设置超时时间mail.smtp.timeout=20000applicationContext.xml文件
<bean id="mailSender" class="org.springframework.mail.javamail.JavaMailSenderImpl"> <property name="host" value="${mail.smtp.host}"/> <property name="username" value="${mail.smtp.username}"/> <property name="password" value="${mail.smtp.password}"/> <property name="defaultEncoding" value="${mail.smtp.defaultEncoding}"/> <property name="javaMailProperties"> <props> <prop key="mail.smtp.auth">${mail.smtp.auth}</prop> <prop key="mail.smtp.ssl.timeout">${mail.smtp.timeout}</prop> </props> </property></bean>public class MailSender { /** * JavaMailSenderImpl支持MimeMessages和SimpleMailMessages。 * MimeMessages为复杂邮件模板,支持文本、附件、html、图片等。 * SimpleMailMessages实现了MimeMessageHelper,为普通邮件模板,支持文本 */ private JavaMailSenderImpl mailSender; @Autowired public void setMailSender(JavaMailSenderImpl mailSender) { this.mailSender = mailSender; } /** * 发件人邮箱地址 */ @Value("${mail.smtp.username}") private String emailFrom; /** * 单发 * * @param recipient 收件人 * @param content 内容 */ @Override public boolean sendEmail(String recipient, String content){ MimeMessage mimeMessage = mailSender.createMimeMessage(); try { MimeMessageHelper messageHelper = new MimeMessageHelper(mimeMessage, true, "UTF-8"); /** 发件人的邮箱地址 */ messageHelper.setFrom(emailFrom); /** 收件人邮箱地址 */ messageHelper.setTo(recipient); /** 主题 */ messageHelper.setSubject("【嘉净】您的邮箱验证码"); /** 内容 */ messageHelper.setText("\t亲爱的用户,您好:\n\t 本次操作的验证码是:"+content+",\n\t 如非本人操作请忽略。详情:http://www.baidu.com", true);//true代表支持html格式 mailSender.send(mimeMessage); return true; } catch (MessagingException e) { e.printStackTrace(); return false; } }}结果展示
转载地址:http://kbwuz.baihongyu.com/