Rozmiar pliku na dysku to tylko jedna część wygenerowanej wiadomości. Nagłówki MIME i kodowanie base64 dodają narzut, więc plik mieszczący się w deklarowanym limicie dostawcy może mimo to sprawić, że wiadomość będzie za duża.
Co sprawia, że załącznik jest większy w transmisji?
Kodowanie Base64 dodaje do pliku binarnego mniej więcej jedną trzecią przed dołączeniem łamań wierszy i nagłówków MIME. E-mail przenosi ten zakodowany plik jako część MIME, obok treści i nagłówków.
Na przykład plik binarny o rozmiarze 12 MB po zakodowaniu base64 zajmuje około 16 MB, jeszcze przed łamaniami wierszy, nagłówkami i treścią. Traktuj to jako przybliżenie, a nie limit dostawcy.
Którego limitu użyć?
Użyj najmniejszego limitu spośród twojej usługi wysyłki, dostawcy odbiorcy i trasy między nimi. Dostawcy publikują różne limity i mogą je zmieniać. Linkuj do aktualnego limitu dostawcy zamiast wpisywać na stałe jedną uniwersalną wartość.
Jeśli plik jest bliski limitu, umieść go za uwierzytelnionym linkiem do pobrania. Wiadomość pozostaje mała. Możesz wygasić lub cofnąć dostęp niezależnie od e-maila.
| Granica | Co ogranicza | Przykładowa konsekwencja |
|---|---|---|
| Limit załącznika | Jeden plik lub pole załącznika | API odrzuca ten element |
| Limit całej wiadomości | Treść, nagłówki i zakodowane załączniki | Nadawca odrzuca wygenerowaną wiadomość |
| Transfer przez link | Połączona usługa pobierania | Odbiorca podlega osobnej polityce dostępu |
Pomoc osobista Gmaila podaje łączny limit załączników wynoszący 25 MB. Administratorzy obszaru roboczego mogą ustawić inne limity dla kont służbowych i szkolnych. Traktuj oba jako wartości specyficzne dla dostawcy.
Jak API powinna obsługiwać duże pliki?
Sprawdź rozmiar zakodowanej wiadomości przed wysłaniem. Odrzuć lub zamień zbyt duży załącznik na czytelny link do pobrania. Powiadom użytkownika, który plik spowodował tę decyzję. Nie ponawiaj wysyłki niezmienionej, zbyt dużej wiadomości.
Zachowaj prawidłowe nazwy załączników i typy zawartości. Dostawca odbiorcy może odrzucić wiadomość z powodu łącznego rozmiaru, zablokowanego typu pliku lub polityki zastosowanej do linku.
Jak Bird obsługuje załączniki?
Ustaw tablicę attachments w żądaniu POST /v1/email/messages. Sprawdź przewodnik po załącznikach, aby poznać aktualny budżet wygenerowanej wiadomości w Bird. Wysyłka zbyt dużego HTTP zwraca 413. Utrzymuj surową zawartość załącznika znacznie poniżej udokumentowanego budżetu, aby treść i opakowanie MIME się zmieściły.
W skrócie
- Limit obejmuje zakodowaną wiadomość, treść, nagłówki i załączniki.
- Base64 dodaje mniej więcej jedną trzecią do rozmiaru pliku binarnego.
- Sprawdź każdego dostawcę na ścieżce dostarczania.
- Link do pobrania pozwala uniknąć błędów rozmiaru załącznika w przypadku dużych plików.