Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法使用Play Framework 1.2.5发送电子邮件_Java_Email_Playframework - Fatal编程技术网

Java 无法使用Play Framework 1.2.5发送电子邮件

Java 无法使用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

我想发一封关于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.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 world

finish function welcom()
您最好编辑问题以包含日志,而不是将其全部发布在评论中。它更容易阅读。:)不管怎样,Mock Mailer中的
表明您并没有真正发送电子邮件。您的配置中是否有
mail.smtp=mock
?是的,mail.smtp=mock会被注释?它是普通的?是的,它应该被注释掉。如果不是,那么请这样做。Play的默认行为是让模拟邮件程序处于开发模式,以及您在PROD模式中配置的任何东西。