我已经编写了一个使用gmail发送邮件的程序,如果我单独执行它的工作正常但是当我与google appengine集成它给我下面的错误时,
Exception in thread "main" com.google.apphosting.api.ApiProxy$CallNotFoundException: The API package 'mail' or call 'Send()' was not found.
at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:104)
at com.google.apphosting.api.ApiProxy.makeSyncCall(ApiProxy.java:56)
at com.google.appengine.api.mail.MailServiceImpl.doSend(MailServiceImpl.java:98)
at com.google.appengine.api.mail.MailServiceImpl.send(MailServiceImpl.java:34)
at com.google.appengine.api.mail.stdimpl.GMTransport.sendMessage(GMTransport.java:231)
at javax.mail.Transport.send(Transport.java:95)
at javax.mail.Transport.send(Transport.java:48)
at in.javadomain.PostMail.postMailMethod(PostMail.java:49)
at in.javadomain.PostMail.main(PostMail.java:20)
我确信没有集成错误或错误。我已经添加了javax.mail jar。
答案 0 :(得分:2)
您需要正确设置测试环境,如下所示:
private final LocalServiceTestHelper helper =
new LocalServiceTestHelper(new LocalMailServiceTestConfig());
@Before
public void setUp() {
helper.setUp();
}
@After
public void tearDown() {
helper.tearDown();
}
GAE需要这些依赖项:
<properties>
<gae.version>1.9.17</gae.version>
</properties>
...
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-labs</artifactId>
<version>${gae.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-api-stubs</artifactId>
<version>${gae.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.appengine</groupId>
<artifactId>appengine-testing</artifactId>
<version>${gae.version}</version>
<scope>test</scope>
</dependency>