Java 无法使用Play Framework 1.2.5发送电子邮件
我想发一封关于play farmework的电子邮件。我配置application.confJava 无法使用Play Framework 1.2.5发送电子邮件,java,email,playframework,Java,Email,Playframework,我想发一封关于play farmework的电子邮件。我配置application.conf # Testing. Set up a custom configuration for test mode # ~~~~~ #%test.module.cobertura=${play.path}/modules/cobertura %test.application.mode=dev %test.db.url=jdbc:h2:mem:play;MODE=MYSQL;LOCK_MODE=0 %test
# Testing. Set up a custom configuration for test mode
# ~~~~~
#%test.module.cobertura=${play.path}/modules/cobertura
%test.application.mode=dev
%test.db.url=jdbc:h2:mem:play;MODE=MYSQL;LOCK_MODE=0
%test.jpa.ddl=create
%test.mail.smtp=mock
#Testing use smtp gmail
#~~~~~~~
mail.debug=true
mail.smtp.host=smtp.gmail.com
mail.smtp.user=mymail@gmail.com
mail.smtp.pass=mypassword
mail.smtp.channel=ssl
我在/views/Mails/welcome.html和welcome.txt中创建了一个新的模板email
而我写的静态方法将是一个电子邮件发送者
package notifiers;
import play.*;
import play.libs.Mail;
import play.mvc.*;
import java.util.*;
import javax.mail.Folder;
public class Mails extends Mailer {
public static void welcome(){
setSubject("Test Send Mail");
addRecipient("target@gmail.com");
setFrom("Me <me@me.com>");
send();
}
}
包通知程序;
输入播放*;
导入play.libs.Mail;
导入play.mvc.*;
导入java.util.*;
导入javax.mail.Folder;
公共类邮件扩展了Mailer{
公共静态无效欢迎(){
setSubject(“测试发送邮件”);
添加收件人(“target@gmail.com");
从(“我”);
send();
}
}
我的输出控制台中有一条消息
begin function welcom()
10:30:36,857 INFO ~ From Mock Mailer
New email received by
From: me@me.com
ReplyTo: me@me.com
To: "target@gmail.com" <target@gmail.com>
Subject: Test Send Mail
text/plain; charset=UTF-8: hello world
text/html; charset=UTF-8: <html>
<body>
<p>Hello world</p>
</body>
</html>
finish function welcom()
开始函数welcom()
10:30:36857来自模拟邮件的信息
收到的新电子邮件
发件人:me@me.com
答复:me@me.com
至:target@gmail.com"
主题:测试发送邮件
文本/纯文本;charset=UTF-8:你好,世界
text/html;字符集=UTF-8:
你好,世界
完成函数welcom()
最后我没有收到邮件。
请帮忙,谢谢 你有电话了
mail.smtp=mock
在应用程序.conf中的某个地方。这使得Play使用模拟邮件程序,而不是通过SMTP服务器发送邮件。默认行为是使模拟邮件程序处于开发模式,SMTP邮件程序处于生产模式。您可以通过注释掉配置中提到的行来改变这种行为
另外请注意,您不应该再使用Play 1.2.5。目前1.X分支的最新版本是1.2.7。您的版本1.2.5包含。有错误消息吗?您确定执行了welcome()
方法吗?是。我在welcome()中插入了两个System.out.println(),在application.conf中插入了mail.debug。输出控制台消息begin function welcom()09:41:50499 INFO~来自模拟邮件发送人收到的新电子邮件发件人:vincnet。iam@gmail.com答复:文森特。iam@gmail.com致:“Vincenet。iam@gmail.com“主题:测试发送邮件文本/纯文本;charset=UTF-8:hello-world文本/html;charset=UTF-8:Hello worldfinish function welcom()
您最好编辑问题以包含日志,而不是将其全部发布在评论中。它更容易阅读。:)不管怎样,Mock Mailer中的表明您并没有真正发送电子邮件。您的配置中是否有mail.smtp=mock
?是的,mail.smtp=mock会被注释?它是普通的?是的,它应该被注释掉。如果不是,那么请这样做。Play的默认行为是让模拟邮件程序处于开发模式,以及您在PROD模式中配置的任何东西。