Hacker News new | ask | show | jobs
by iforgotpassword 1513 days ago
The bad part is that this only made the problem more unlikely, but didn't fix it.

Ideally you want to inform the client that their mail was discarded due to size. But you cannot make the mail bounce at that point because it magically turned into http already. The actual delivery is already done. You also cannot trigger an automated reply in your Django app, because it was nginx who dropped it and your app never saw it.

1 comments

It looks like SendGrid SMTP servers will probably bounce anything over 30 mb since their v3 api says it only supports attachments up to 30 mb

https://docs.sendgrid.com/api-reference/mail-send/mail-send

So OP should have actually only increased the size limit to 30 mb since that’s all that SendGrid supports anyway. Then OP can simply rely on SendGrid’s SMTP server to respond to the client appropriately when they attach too big of files. OP would want to verify with docs and/or SendGrid support that they actually do that, of course, and won’t arbitrarily increase the limit without releasing a new API version before completely relying on SendGrid. But presumably as a paying user of the product he could do that.

Attachment size is not mail size. Attachments usually get base64 encoded , i.e. 33% larger. So a maximum mail size of 30 mb is actually a maximum attachment size of 22.5 mb.
Can’t he pull the file out if it’s larger than 30mb and provide a link to the file? I think Google does something similar where it will put the file into Google drive if it’s too large.