私が使用するスクリプトは非常に似ています。email.* モジュールを使用して MIME メッセージを生成する方法の例として、ここに投稿します。そのため、このスクリプトを簡単に変更して、写真などを添付できます。
日時ヘッダーの追加は ISP に依存しています。
私の ISP では、安全な smtp 接続を使用してメールを送信する必要があります。smtplib モジュール ( http://www1.cs.columbia.edu/~db2501/ssmtplib.pyでダウンロード可能)に依存しています
スクリプトのように、SMTP サーバーでの認証に使用されるユーザー名とパスワード (以下にダミーの値を指定) は、ソースではプレーン テキストです。これはセキュリティ上の弱点です。しかし、最良の代替手段は、これらを保護するためにどれだけ注意する必要があるか (したいですか?) によって異なります。
=======================================
#! /usr/local/bin/python
SMTPserver = 'smtp.att.yahoo.com'
sender = 'me@my_email_domain.net'
destination = ['recipient@her_email_domain.com']
USERNAME = "USER_NAME_FOR_INTERNET_SERVICE_PROVIDER"
PASSWORD = "PASSWORD_INTERNET_SERVICE_PROVIDER"
# typical values for text_subtype are plain, html, xml
text_subtype = 'plain'
content="""\
Test message
"""
subject="Sent from Python"
import sys
import os
import re
from smtplib import SMTP_SSL as SMTP # this invokes the secure SMTP protocol (port 465, uses SSL)
# from smtplib import SMTP # use this for standard SMTP protocol (port 25, no encryption)
# old version
# from email.MIMEText import MIMEText
from email.mime.text import MIMEText
try:
msg = MIMEText(content, text_subtype)
msg['Subject']= subject
msg['From'] = sender # some SMTP servers will do this automatically, not all
conn = SMTP(SMTPserver)
conn.set_debuglevel(False)
conn.login(USERNAME, PASSWORD)
try:
conn.sendmail(sender, destination, msg.as_string())
finally:
conn.quit()
except:
sys.exit( "mail failed; %s" % "CUSTOM_ERROR" ) # give an error message