Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>See <a href="http://support.google.com/mail/bin/answer.py?hl=en&amp;ctx=mail&amp;answer=1366858&amp;expand=5" rel="nofollow">this</a> reasoning, provided by Gmail on how it filters incoming email based on the header information. The key thing to note here is that all emails sent via GAE's SMTP infrastructure are sent <b>via</b> email IDs of the format <b>xyz.apphosting.bounces.google.com</b>, which by Gmail's definition itself brings the emails under the category of falsely / apparently bounced email messages, hence they get categorized as spam. The same would hold true for other email service providers that follow similar logic for spam filtering.</p> <p>GAE <strong>still</strong> needs to come up with a good solution to this problem. In the meanwhile, the suggestion I would give you is to use an external email service. Since GAE does not allow you to open arbitrary TCP sockets, you can use the <a href="https://developers.google.com/appengine/docs/java/urlfetch/overview" rel="nofollow">URLFetch service</a> to submit requests to external services that can open SMTP connections and send email on behalf of your email ID.</p> <p>While this approach shifts your email sending costs to the external service, it consumes additional GAE resources, namely- UrlFetch service API calls and UrlFetch Data sent.</p> <p>Update: Google App Engine plans to launch support for outbound sockets soon as part of their production feature <a href="https://developers.google.com/appengine/docs/features" rel="nofollow">roadmap</a>, so making external SMTP connections directly would become a possibility.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload