My mail is regarding the option for receiving email to any address which looks like - xxx#appid.appspotmail.com documented here: http://code.google.com/appengine/docs/python/mail/receivingmail.html
My questions are:
Is there any restriction on the number of email addresses which can be created using the above format and used inside the application?
As an example I may have a million users and could have some sort of a "in-mail" facility where each user is assigned a unique "xxx" id.
Is there any limit on the number of emails which can be received by an address of the above format? I don't see any quota restrictions specified anywhere?
There's no limit to the number of email addresses you can send or receive email on. Incoming email is simply sent to your handler with the address preserved; no accounts get created, so there's no reason to limit the number of unique addresses. The system-wide quota limits on incoming mail, total requests, and calls to the mail API are the only ones that apply here.
There is no limit on the number of addresses where your app can receive mail, or the number of emails it can receive.
App Engine does not persist the addresses you've used to receive mail; each inbound message is handled like an HTTP POST and then discarded. Sending a million emails to one address or a to million addresses will use the same resources.
The mail-related quotas apply to sent mail only. For CPU, bandwidth, etc., inbound mail draws from the same resource pool as your HTTP requests. There's no indication in the docs of any quota specific to inbound mail.
I can't see any mention of a maximum of email addresses you can have in the format
string# appid.appspotmail.com. But surely there must be some internal limit specified. I guess the appspotmail option is not meant to be used to create unique emails for each of your app's users (especially if you have a large number of users).
There are limits specified in the quotas, for example you can send mails to a maximum of 7,400,000 recipients a day, and you can make a maximum of 1,700,000 calls a day to the GAE Mail API (both limits apply only when billing is enabled). So if you had a million users, you probably would reach the API limit pretty soon when most of them would receive one or multiple emails.
Related
I'm building a messaging system for GCP-hosted platform and plan to use Gmail as a backing system. Users can write their messages through our system which will invoke Gmail API to send emails to other recipients. When someone responds, Gmail API sends a push notification and our system in turn notifies a used.
As I expect high spikes of user activity, the limitation of 1 notification per second (https://developers.google.com/gmail/api/guides/push):
Each Gmail user being watched has a maximum notification rate of 1 event/sec. Any user notifications above that rate will be dropped.
doesn't seem to work for me. But to be sure I want to understand what does it exactly mean.
In particular:
what will happen if my mailbox receive 100 emails in a second? Will Gmail generate a single notification which will include all 100 messages? Or there will be several notifications generated which will eventually notify me about all messages? Or due to high messages rate and the above-mentioned limit of 1 notification per second I will receive a single notification for the first message and the rest 99 will not be pushed to my backend?
What the documentation tells you is that, if 100 notifications appear on the same user on gmail at the same time, the first notification would come thru, then the other 99 would be dropped.
However, there is a way to recover changes by using history events, this is referred to as sync and there are multiple ways to do this. I suggest you read up on the Partial Synchronization guide.
The documentation also offers some advice on how you should architect your code to deal with this, specially in the Reliability section of the documentation.
Basically am using gmail php api to show gmail inbox for my users. But the main thing is that i only want to show the gmail thread conversations of my crm contacts. For this i pass all the emails of my contacts in the q parameter of gmails threads but this the q parameter works only untill 250 emails after that i got bad request error in response. could anyone please tell is there any limit on the length of q parameter of gmail php api or a better way to handle this situation..
Because of the query length limit, you will most likely have to divide your set of emails into batches that fit within the query limit.
If performance is an issue, you can use a batch request to group the email batches into a single request. See: https://developers.google.com/gmail/api/guides/batch
Note: the requests within your batch will still be subject to rate and concurrent request limits. See: https://developers.google.com/gmail/api/v1/reference/quota
My PAID App Engine is restricting me to sending only 100 mails. I could not find any documentation to increase that limit.
Additionally it says there is 0.00/100 $ charge for mails exceeding 100 mails. I could not find any information on the billing documentation either - in terms of how to send mails beyond 100 and get charged for it/etc..
Any help is welcomed..
Google doesn't appear to be interested in directly offering the email sending service, so the quota is really small nowadays. Instead they have partners for this service, which you'd have to use if you need to exceed the quotas.
From Quotas and limits:
The quota is reset daily. If you exceed the daily quota, you will get
an over quota exception. If you need to send more mail then the
quota allows, you can use a third-party mail provider, such as
SendGrid or Mailgun.
In addition to Mailgun and SendGrid, Mailjet is also a mail sending partner.
Someone invited me to be a developer on his app. I did not get the email invite?
I have had others invite me and it works (and works well!)
We got around the problem by having an invite sent to another account. That works for now, but I really need the invite to be sent to the correct account.
Gary
The question is borderline off-topic in that it's not usually a programming question, but it comes up so often, from programmers and the customers we support, that I wanted to put an answer here in the hopes that it would be helpful.
I see that it was in your spam folder, which is one of the more common causes of "lost" emails.
In short, when an email is sent from one server, it goes through several other servers and routers on the way to the final user's PC.
Any one of the following conditions could cause a sent email to not reach a recipient:
Blocked Outbound Mail - The sender's company/business/ISP has email scanning software that scans outbound email, and blocks suspicious outbound emails.
Our workplace has this to limit sensitive data being sent out accidentally, to block outbound infected emails sent from infected PCs.
Relay Server Permissions/Configuration - Your code is sending through a relay server that has rules blocking unauthorized use of email relay functionality.
In most shops with good security consciousness, email servers are configured to disallow email relay except for known IP addresses and/or known, explicitly authorized users.
External party blocks the email - The sender's company has been blacklisted.
Blocked Inbound Mail - The receivers company has email scanning software that scans incoming email (similar to #1) to block malicious/non-work related/bad emails from reaching the recipient's inbox.
Receiver's Spam Filtering - The receiver's email inbox has spam mail filtering, which may automatically move the email to a spam folder, delete them, or other action depending on how you have it configured.
Receiver's Inbound Mail Rules - Similar to the above. The recipient may have rules defined that block, delete, or move emails.
Outlook allows this, as do other email clients. Emails can match the patterns set for existing rules and result in false positives that trigger the rule execution.
Human error - the sender sent the email to the wrong email address.
Human error - the recipient accidentally deleted the email and just didn't see it. (You'd be surprised how often I've seen this.)
Bad programming - there was an error sending the email, but the exception handling ignores the error, so nobody ever knows any better.
Only #9 is actually a programming issue, and it's also (in my experience) the least common. Odds are that the problem has nothing to do with code that you'd be writing.
I'm sure there are more, but these are the ones I've seen the most frequently. I'll add as I think of others.
I have set up a custom domain for my google app engine application, which accepts incoming email. While this works great if you want to use an email address like example#example.appspotmail.com, I would like to use a custom domain like example#example.com. Is it possible to do this?
A solution that will not work, is to simply use Google Apps to forward emails to the appspotmail address. This is because I accept emails to any number of email addresses at my domain, and I would need to set up this forwarding for each one - simply not doable.
Thanks for any help!
Devon
App Engine doesn't currently support receiving email on custom domains. You'd need to point your MX records to a service that supports mail redirection, and have it redirect all addresses to your appspotmail subdomain.
If I understand correctly you have many different email addresses you want to forward to appspotmail and due to the large number of addresses it would be time prohibitive to set up forwarding for each one. One solution I admit isn't perfect but works well is to set up a single email account that forwards all email to appspotmail. Then in Google apps make that email address a Catch all email address. What this does is that any email address that does not match an existing email address will go to the catch all email adress then it will be forwarded to appspotmail. With this trick you must only verify a single email address.
It will also allow you to specify a few addresses that don't go to appspotmail by creating the email accounts if you need to. This solution allows you to have an unlimited number of addresses forwarded to appspotmail.
Solution 2 allows a limited number of addresses forwarded to appspotmail. Create an email address that forwards to appspotmail then you can assign that address multiple "nicknames" which are aliases for that account and will also forward. You can create up to 30 email aliases for an individual account. If you need more create another account and repeat. The maximum number of email aliases for your Google Apps account is 10 times the number of user accounts. Using this technique if you have a free account and you signed up after May 10, 2011 you can make up to 310 forwarding addresses. If you have a free account and signed up before May 10, 2011 the limit is 1550 forwarding addresses using this technique.