Hi there,

Until recently I had a happily working app with one mail handler and Spring 
MVC configured in web.xml as follows:

<servlet-mapping>
<servlet-name>imageMailHandler</servlet-name>
<url-pattern>/_ah/mail/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

Today I added a second mail handler, so I had to make the url pattern for 
both mail handlers more specific:

<servlet-mapping>
<servlet-name>yahooGroupsMailHandler</servlet-name>
<url-pattern>/_ah/mail/yg*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>imageMailHandler</servlet-name>
<url-pattern>/_ah/mail/image*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

Now what's happening is that the mail requests are being given to the 
Spring MVC servlet. The mail handler URL pattern is not matching. The mail 
is being sent to:

image@[APP ID].appspotmail.com
yg@[APP ID].appspotmail.com

Both addresses bounce and I get the following in my logs, which indicates 
the request is going through to Spring:


   1. 2011-10-29 11:18:42.541 /_ah/mail/image@[APP ID].appspotmail.com 404 
   6153ms 311cpu_ms 195api_cpu_ms 3kb
   
   0.1.0.20 - - [29/Oct/2011:03:18:42 -0700] "POST /_ah/mail/image@[APP 
ID].appspotmail.com HTTP/1.1" 404 3288 - - "[APP ID].appspot.com" ms=6154 
cpu_ms=312 api_cpu_ms=195 cpm_usd=0.009177 
instance=00c61b117c977250f313d9fed8db23d827d0
   
   2. I2011-10-29 11:18:36.398
   
   [s~dev-gb-recyc-org/5.354303509951850075].<stdout>: 10:18:36,398 WARN  
[org.springframework.web.servlet.PageNotFound] - No mapping found for HTTP 
request with URI [/_ah/mail/image@[APP ID].appspotmail.com] in 
DispatcherServlet with name 'springMvc'
   
   

I've also tried making the mappings a bit more specific, but to no avail:

<servlet-mapping>
<servlet-name>yahooGroupsMailHandler</servlet-name>
<url-pattern>/_ah/mail/yg@*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>imageMailHandler</servlet-name>
<url-pattern>/_ah/mail/image@*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>springMvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>

I'm loath to put the whole email address in there including app ID, because 
I have multiple environments and it'd be a manual step at deployment to 
edit the app ID every time I deploy. Any help greatly appreciated.

Cheers,

Eliot.

-- 
You received this message because you are subscribed to the Google Groups 
"Google App Engine for Java" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-appengine-java/-/9VZubzwmd9QJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-appengine-java?hl=en.

Reply via email to