我正在编写一个App Engine应用程序,它应该以这种形式接收电子邮件: addcontact.someID@my-app.appspotmail.com(someID是我生成的字母数字ID。)
我在我的web.xml中有这个想法它会捕获开始的电子邮件 使用'addcontact。':
<servlet>
<servlet-name>addNewContactServlet</servlet-name>
<servlet-class>com.mycompany.server.AddNewContactServlet</servlet-
class>
</servlet>
<servlet-mapping>
<servlet-name>addNewContactServlet</servlet-name>
<url-pattern>/_ah/mail/addcontact.*</url-pattern>
</servlet-mapping>
但是,我的开发机器和谷歌服务器上的电子邮件都没有 接收。在开发机器上我收到此消息(我得到了类似的错误 在已部署的日志中)
消息发送失败 HTTP错误404 访问/ _ah / mail /时遇到问题 addcontact.z1vnq3p2bvtfsuzbxg13sfon@myapp.appspotmail.com。 原因: NOT_FOUND
我可以在完全指定的地址或使用/ _ah / mail / *时收到电子邮件 谷歌文档让我相信可以在web.xml中包含部分电子邮件地址。我没有正确使用通配符吗?这个时期与它有关吗?这可以以某种方式完成吗?
我认为它应该有效的原因是google文档:http://code.google.com/appengine/docs/java/mail/receiving.html
其中有一个示例web.xml文件:
<servlet>
<servlet-name>handleowner</servlet-name>
<servlet-class>HandleOwner</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>handleowner</servlet-name>
<url-pattern>/_ah/mail/owner*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>handlesupport</servlet-name>
<servlet-class>HandleSupport</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>handleowner</servlet-name>
<url-pattern>/_ah/mail/support*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>catchallhandler</servlet-name>
<servlet-class>MailCatchallServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>catchallhandler</servlet-name>
<url-pattern>/_ah/mail/*</url-pattern>
</servlet-mapping>
<security-constraint>
<web-resource-collection>
<url-pattern>/_ah/mail/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
</auth-constraint>
</security-constraint>
看起来支持和所有者电子邮件地址是通配符,以匹配任何以该地址开头的地址。
答案 0 :(得分:0)
这应该有效。你确定这不是你的经纪人返回404吗?我建议尝试一些方法来找出问题的根源: