Wysyłam e-maile za pomocą Pythona. Obecnie moja technika jest to:
msg = email.mime.Multipart.MIMEMultipart()
msg["From"] = username
msg["To"] = recipient
msg["Subject"] = subject
mimeText = email.mime.Text.MIMEText(body, "html")
msg.attach(mimeText)
stringMsg = msg.as_string()
Chciałbym również dodać kilka metadanych do wiadomości - konkretnie, unikalny identyfikator zadania, który ma osiągnąć e-mail, tak że gdy zostanie sprawdzony później (ewentualnie przez inną usługę), mogę uniknąć wysyłania duplikatów e-mail.
Metadane nie muszą być całkowicie tajne ani bezpieczne, po prostu coś, co standardowe klienci e-mail nie renderują. Oczywiście istnieją opcje, w tym adres e-mail BOGUS BCC zawierający identyfikator lub dodanie ukrytego węzła HTML do ciała.
<div style="display:none;">123456789</div>
Ale oboje wydają się całkiem "hacky". Czy jest coś takiego, które będzie trwałe i wysłane jako część e-maila, że mogę sprawdzić za pomocą imaplib
później?
msg["secretMetadata"] = "123456789"
2 odpowiedzi
Pola zdefiniowane przez użytkownika są dozwolone i wyjaśnione w RFC822. Zasadniczo możesz prefiksować swoje pole niestandardowe za pomocą X-
, a to nie będzie sprzeczne z żadnymi istniejącymi pól ani rozszerzeniami.
Tak więc, coś takiego jak msg["X-secretMetadata"] = "123456789"
.
Brzmi to tak, jakbyś mógł użyć nagłówków X. Informacje w X-nagłówkach wiadomości e-mail jest zwykle używany do celów specyficznych dla aplikacji, a informacje te nie są zazwyczaj wyświetlane przez klientów poczty.
Podobne pytania
Nowe pytania
python
Python to wielozadaniowy, wielozadaniowy język programowania dynamicznie typowany. Został zaprojektowany tak, aby był szybki do nauczenia się, zrozumienia i użycia oraz wymuszania czystej i jednolitej składni. Należy pamiętać, że Python 2 oficjalnie nie jest obsługiwany od 01-01-2020. Mimo to, w przypadku pytań Pythona specyficznych dla wersji, dodaj znacznik [python-2.7] lub [python-3.x]. Korzystając z wariantu Pythona (np. Jython, PyPy) lub biblioteki (np. Pandas i NumPy), należy umieścić go w tagach.