2010-04-21 66 views
0

的ID的電子郵件地址我正在編寫一個App Engine應用程序,該應用程序應該以下列格式接收電子郵件: [email protected](someID是字母數字我生成的ID)。設置App Engine以接收地址爲

我有這個在我的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 /郵件/ [email protected]。 原因: NOT_FOUND

我可以完全指定的地址,接收電子郵件或當我使用/ _ah /郵件/ * 在谷歌文檔,讓我相信這是可能的,包括在web.xml部分電子郵件地址。我沒有正確使用通配符?這個時期與此有關嗎?這可以以某種方式完成嗎?

我之所以認爲它應該工作是谷歌文檔在: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

對不起,關於假領導,馬克。 – 2010-04-21 18:50:40

+0

您是否找到了此問題的答案? – nicktmro 2012-04-19 10:49:10

回答

0

這應該工作。你確定這不是你的處理程序返回404嗎?我建議嘗試一些事情,以找出問題的根源:

  1. 建立一個包羅萬象的處理程序/ _ah /郵件/ *和檢查工作
  2. 如果是這樣,建立一個用於更簡單的前綴或確切的地址。
+0

/_ah/mail/*的catchall處理程序一直有效。每當我在web.xml中更改該行以包含通配符時,它都不起作用。在我的開發機器上使用調試器,servlet從不輸入,只是相同的錯誤信息。 使用我的開發機器,我模擬了一個傳入的電子郵件,其中包含'to'地址,字面意思是addcontact。*(與web.xml中的內容匹配),並且調用了servlet。仍然困惑... – 2010-04-22 14:35:10

相關問題