Jak mogę wysłać treść HTML w wiadomości e-mail za pomocą Pythona? Mogę wysłać prosty tekst.
python
email
html-email
Peter Mortensen
źródło
źródło
Odpowiedzi:
Z dokumentacji Python v2.7.14 - 18.1.11. email: Przykłady :
źródło
quit
s
# According to RFC 2046, the last part of a multipart message, in this case # the HTML message, is best and preferred.
Chciałbym przeczytać to 2 godziny temuMożesz spróbować użyć mojego modułu pocztowego .
źródło
use_tls=True
,usr='email'
apwd='password'
podczas inicjalizacjiMailer
i będzie działać.message.Body = """Some text to show when the client cannot show HTML emails"""
Oto implementacja zaakceptowanej odpowiedzi w Gmailu :
źródło
Oto prosty sposób wysłania wiadomości e-mail w formacie HTML, określając nagłówek Content-Type jako „text / html”:
źródło
smtplib.SMTP()
przykład, który nie używa tls. Użyłem tego do wewnętrznego skryptu w pracy, w którym używamy ssmtp i lokalnej poczty. Brakuje również tego przykładus.quit()
.Oto przykładowy kod. Inspiracją jest kod znaleziony na stronie Python Cookbook (nie można znaleźć dokładnego linku)
źródło
w przypadku python3 popraw odpowiedź @taltman :
email.message.EmailMessage
zamiastemail.message.Message
do tworzenia wiadomości e-mail.email.set_content
func, przypiszsubtype='html'
argument. zamiast func niskiego poziomuset_payload
i ręcznie dodawać nagłówek.SMTP.send_message
func zamiastSMTP.sendmail
func.with
bloku, aby automatycznie zamknąć połączenie.źródło
W rzeczywistości yagmail przyjął nieco inne podejście.
To będzie domyślnie wysyłać HTML, z automatycznym fallback dla niezdolnych czytniki e-mail. To już nie jest XVII wiek.
Oczywiście można to zmienić, ale oto:
Aby uzyskać instrukcje instalacji i wiele innych wspaniałych funkcji, zajrzyj na github .
źródło
Oto działający przykład wysyłania zwykłego tekstu i wiadomości e-mail z języka Python przy użyciu
smtplib
opcji CC i BCC.https://varunver.wordpress.com/2017/01/26/python-smtplib-send-plaintext-and-html-emails/
źródło
Oto moja odpowiedź na AWS za pomocą boto3
źródło
Najprostsze rozwiązanie do wysyłania wiadomości e-mail z konta organizacji w Office 365:
źródło