用 play framework 发送邮件,为什么收不到邮件?
1.我在开发一个网站
2.遇到的问题:接受邮箱接受不到邮件
3.想实现的功能:
点击页面上“发送邮件提醒”按钮,按照配置好的信息(发送邮箱,发送邮箱密码,接受邮箱等)发送出一封邮件。
我的实现代码:
1.配置文件
conf/application.conf
#发送邮件配置
mail.smtp.host=smtp.qq.com
mail.smtp.user=82539****
mail.smtp.pass=abc******
mail.debug=true
2.controllers/Application.class
public static void sendEmail(){
//Mail.send("59******@qq.com", "890*****@qq.com", "主题", "内容");//行不通
SimpleEmail email = new SimpleEmail();
try{
email.setFrom("1205******@qq.com");
email.addTo("8253******@qq.com");
email.setSubject("轮值提醒-lyd");
email.setMsg("轮值啦!-lyd");
Mail.send(email);
String msg = "发送成功!";
render("/Application/showMsg.html",msg);
}catch (Exception e){
}
//String msg = "发送成功!";
//render("/Application/showMsg.html",msg);
}
3.views/Application/sendEmail.html
<form action="@{Application.sendEmail()}" class="form-btn">
<button id="snedEmail" type="submit" value = "发送邮件提醒"></button>
</form>
4.控制台信息
但是邮箱就是没有新邮件。
尝试第二种方法(还是失败,邮箱没有收到任何邮件)
实现代码:
1.配置文件同上
2.notifiers/Mails.java 创建Mailer的子类Mails,放在包notifiers里
package notifiers;
import org.apache.commons.mail.EmailAttachment;
import org.apache.commons.mail.SimpleEmail;
import play.libs.Mail;
import play.mvc.Mailer;
/*
Created with IntelliJ IDEA.
User: afra
Date: 16-3-1
Time: 下午6:58
To change this template use File | Settings | File Templates.
*/
public class Mails extends Mailer {
public static void welcome() {
setSubject("Welcome !!!");
addRecipient("12******@qq.com");
setFrom("882******@qq.com");
send();
}
}
3.调用代码(controllers/Application.java)
public static void sendEmail(){
Mails.welcome();
}
4.对应HTML的邮件页面:Mails/welcome.html
!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
hello word!
</body>
</html>
5.页面上按钮“发送邮件提醒”的代码同上。
6.控制台输出信息:
7.邮箱没有反应,收不到邮件。尝试了qq邮箱和163邮箱都不行。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
用Play framework发送邮件步骤总结
1.配置文件application.conf
将配置文件中
mail.smtp=mock
注释掉(该行配置的意思是模拟发送,只在控制台上输出信息,并不会真正发送邮件)2.配置文件application.conf配置如下信息:
注意:qq邮箱等需要认证等额外配置,我使用的校邮箱不用认证,邮箱服务器
mail.smtp.host
可以去邮件系统的设置里面查看到2.新建包
notifiers
,写一个Mailer
的子类Mails.java
3.新建邮件内容的HTML模板,放到view/Mails文件夹下。Mails文件夹对应Mails.java类,HTML模板名对应类的方法名。
4.调用
5.未解决问题: