Python—実操項目:SMTPは複数人にメールを送る(添付ファイルと添付ファイルを持たない)
16073 ワード
Python—実操項目:SMTPは複数人にメールを送る(添付ファイルと添付ファイルを持たない) SMTPメールの簡単なパラメータ紹介 Python-本文のみのメール を複数の人に送信 Python-複数の人に添付ファイルを挿入するメール を送信
SMTPメールの簡単なパラメータ紹介
SMTP(Simple Mail Transfer Protocol):簡単なメール転送プロトコル、pythonのsmtplibは、Eメールを送信するのに便利な方法を提供します.smtpプロトコルを簡単にパッケージ化しています.
Pythonが作成するSMTPオブジェクト構文は、import smtplib smtpObj=smtplib.SMTP( [host [, port [, local_hostname]]] )
パラメータ説明:host:SMTPサーバホスト.ホストのipアドレスやドメイン名、例えばrunoobを指定できます.com、これはオプションパラメータです.port:hostパラメータを指定した場合は、SMTPサービスで使用されるポート番号を指定する必要があります.一般的には、SMTPポート番号は25です.local_hostname:SMTPが本体にある場合は、サーバアドレスをlocalhostと指定するだけです.
Python SMTPオブジェクトはsendmailメソッドを使用してメールを送信し、構文は以下の通りである:SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
パラメータの説明:from_addr:メール送信者アドレス.to_addrs:文字列リスト、メール送信アドレス.msg:メッセージを送信します.そのフォーマットは文字列で、一般的にはメールの本文を指します.
では、次は直接実操プロジェクトをお見せします.もしあなたが私と同じ初心者なら、コードを叩いてみましょう.
Python-複数の人に本文だけのメールを送る
Python-複数の人に添付ファイルを挿入するメールを送信
SMTPメールの簡単なパラメータ紹介
SMTP(Simple Mail Transfer Protocol):簡単なメール転送プロトコル、pythonのsmtplibは、Eメールを送信するのに便利な方法を提供します.smtpプロトコルを簡単にパッケージ化しています.
Pythonが作成するSMTPオブジェクト構文は、import smtplib smtpObj=smtplib.SMTP( [host [, port [, local_hostname]]] )
パラメータ説明:host:SMTPサーバホスト.ホストのipアドレスやドメイン名、例えばrunoobを指定できます.com、これはオプションパラメータです.port:hostパラメータを指定した場合は、SMTPサービスで使用されるポート番号を指定する必要があります.一般的には、SMTPポート番号は25です.local_hostname:SMTPが本体にある場合は、サーバアドレスをlocalhostと指定するだけです.
Python SMTPオブジェクトはsendmailメソッドを使用してメールを送信し、構文は以下の通りである:SMTP.sendmail(from_addr, to_addrs, msg[, mail_options, rcpt_options])
パラメータの説明:from_addr:メール送信者アドレス.to_addrs:文字列リスト、メール送信アドレス.msg:メッセージを送信します.そのフォーマットは文字列で、一般的にはメールの本文を指します.
では、次は直接実操プロジェクトをお見せします.もしあなたが私と同じ初心者なら、コードを叩いてみましょう.
Python-複数の人に本文だけのメールを送る
import smtplib #smtplib
from email.mime.text import MIMEText # email
from email.header import Header # Header
# : ,QQ ( )
from_addr = '75******@qq.com'
password = input(' ')
# ( , )
to_addrs =[ '475******@qq.com','75******@qq.com','15******@163.com']
# ( SMTP , qq SMTP )
smtp_server = 'smtp.qq.com'
# , , (plain ),
text = ' , ' # ,
msg = MIMEText(text,'plain','utf-8') # , (plain)、
# ( , , )
msg['From'] = Header(from_addr)
msg['TO'] = Header(",".join(to_addrs))
msg['Subject'] = Header(' ')
# ,
server = smtplib.SMTP_SSL()
server.connect(smtp_server,465) #465 qq , 587
#
server.login(from_addr,password)
#
server.sendmail(from_addr,to_addrs,msg.as_string())
#
server.quit()
Python-複数の人に添付ファイルを挿入するメールを送信
import smtplib #smtplib
from email.mime.text import MIMEText # email
from email.header import Header #Header
from email.mime.multipart import MIMEMultipart # ( MIMEMultipart )
# : ,QQ
from_addr = '75******@qq.com'
password = input(' ')
# ( , )
to_addrs =[ '47*******@qq.com','75*******@qq.com','15*******@163.com']
#
smtp_server = 'smtp.qq.com'
#
message=MIMEMultipart()
# , , (plain ),
text = ' , ' # ,
mail_inside = MIMEText(text,'plain','utf-8') # , (plain)、
#
message['From'] = Header(from_addr)
message['TO'] = Header(",".join(to_addrs)) # , join, join
message['Subject'] = Header(' ')
message.attach(mail_inside) #
# csv 1
attr1=MIMEText(open(r'F:\ \ \Python \assets.csv','rb').read(),'base64','utf-8')
attr1["content_Type"]='application/octet-stream'
attr1["Content-Disposition"] = 'attachment; filename="assets.csv"' # ,
message.attach(attr1)
# 2
att2 = MIMEText(open(r'F:\ \ \Python \timg.jpg','rb').read(), 'base64', 'utf-8')
att2["Content-Type"] = 'application/octet-stream'
att2["Content-Disposition"] = 'attachment; filename="timg.jpg"'
message.attach(att2)
# html
att3 = MIMEText(open(r'F:\ \ \Python \boke.html', 'rb').read(), 'base64', 'utf-8')
att3["Content-Type"] = 'application/octet-stream'
att3["Content-Disposition"] = 'attachment; filename="boke.html"'
message.attach(att3)
#
try:
# ,
server = smtplib.SMTP_SSL(smtp_server,465) #465 , 587
#
server.login(from_addr,password)
#
server.sendmail(from_addr,to_addrs,message.as_string())
#
server.quit()
print(' ')
except smtplib.SMTPException as e:
print('error',e) #