Pythonがメール機能を実装する方法

メール機能は、Pythonsmtplibで簡単に実現できます。 SMTPとは?メール機能を実現するには?

SMTP(Simple Mail Transfer Protocol)は、Simple Mail Transfer Protocolであり、送信元アドレスから宛先アドレスにメールを転送するために使用される一連のルールであり、メールの転送方法を制御します。

Pythonのsmtplibは、メールを送信するための非常に便利な方法を提供します。 smtpプロトコルをカプセル化するだけです。

Pythonは、次のようにSMTPオブジェクト構文を作成します。

import smtplib
smtpObj = smtplib.SMTP([host [, port [, local_hostname]]])

パラメータの説明:

ホスト:SMTPサーバーホスト。 runoob.comなどのホストのIPアドレスまたはドメイン名を指定できます。これはオプションのパラメーターです。

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:メッセージを送信

ここで、3番目のパラメーターに注意する必要があります。msgは文字列であり、メールを意味します。メールは通常、タイトル、送信者、受信者、メールの内容、添付ファイルなどで構成されています。メールを送信するときは、メッセージの形式に注意してください。この形式は、smtpプロトコルで定義されている形式です。

参考までにみんなと共有してください。具体的な実装方法は次のとおりです。

import smtplib, socket
fromaddr = [email protected]
toaddrs =["[email protected]","[email protected]"]
msg =open("multimsg.eml","r").read()try:
 server = smtplib.SMTP('10.0.0.1')
 result = server.sendmail(fromaddr, toaddrs, msg)
 server.quit()if result:for r in result.keys():
 print "Error sending to", r
 rt = result[r]
 print "Code", rt[0],":", rt[1]except(smtplib.SMTPException, socket.error), arg:
 print "SMTP Server could not send mail", arg

補足例:

pythonはメール送信機能を実現します

''' ソケットは特定のネットワークプロトコル(TCPなど)用です/IP,ICMP/IP,UDP/IPなど)、プログラムが受け入れて接続できるようにします。TCPとストリームソケットを備えた単純なサーバーをPythonで構築するには、ソケットモジュールを使用する必要があります。このモジュールに含まれる関数とクラスの定義を使用して、ネットワークを介して通信するプログラムを生成できます。 、6ステップサーバーのいくつかの方法に分けられます:
1. ソケットとは
カーネル内のソケットはレイヤーごとに抽象化され、一般的なものを抽出します,このようにして、外部から提供されるインターフェースを可能な限り統合することができます,Socket関数の3つのパラメーターは、実際には抽象ソケットを具体化するための条件です。familパラメーターは図に示す第2層の通信ドメインを決定し、タイプは第3層の通信モードであるプロトコルを決定します。
第4層の実際の通信プロトコルを決定します。
このコンテンツがどのレベルにあるかを最初に理解しますか?コミュニケーションの仕方
http://www.cnblogs.com/wangcq/p/3520400.html、メソッドを見ると、サーバーとクライアントはこれらのステップに大まかに分けられます
1. オブジェクトを作成する
2. ソケットを指定されたアドレスsocketにバインドします.bing(住所)3.ステップ3、バインド後、ソケットを準備し、ポートを監視するソケット.listen(backlog)4.ソケットのacceptメソッドは、クライアントが接続を要求するのを待ちます
5. 処理段階
6. 送信が終了すると、サーバーはソケットのcloseメソッドを呼び出して接続を閉じます
クライアントには4つのステップがあります。
1. ソケット接続サーバーを作成する
2. ソケット接続方式を使用してサーバーソケットに接続します.connect((host,port))3.クライアントとサーバーは、sendメソッドとrecvメソッドを介して通信します
4. ソケットのcloseメソッドを呼び出して通信します
'''
# encoding=utf-8import socket
t = socket.socket(socket.AF_INET, socket.SOCK_STREAM)'''ソケットオブジェクトを作成し、ソケットをフォーマットします.socket(family,type),ファミリーフォーマットはAFです_INET(IPV4プロトコルのTCPおよびUDP用)、タイプパラメーター、SOCK_STREAM(ストリームソケット、TCPに接続指向の信頼性の高いデータサービスを提供)またはSOCK_DGRAM(データグラムソケットは、UDPに接続指向の信頼性の低いデータサービスを提供します),SOCK_RAW(rawソケット、低レベルプロトコル)'''
t.connect(('smtp.126.com',25)) #接続を確立する
print "start", t.recv(1024) #recvメソッドを使用してデータを通信および転送します
t.send("helo 126.com\r\n") #コンテンツを送信する
print "111", t.recv(1024) 
t.send("auth login\r\n") #メールボックスにログインします
print "222", t.recv(1024) #コンソールで印刷
t.send("dGVzdG1hbjE5ODA=\r\n") #base64ビットモードでエンコードされ、次のようにデコードされます:testman1980
print "333", t.recv(1024) #コンソールで印刷
t.send("Zm9zdGVyd3UxOTc4\r\n")#base64ビットモードでエンコードされ、次のようにデコードされます:fosterwu1978
print "444", t.recv(1024) #コンソールで印刷
t.send("mail from:<[email protected] \r\n") #送信者は、なぜそれが以下の電子メールの内容にも含まれているのか、ここではあまり明確ではありません。
print "555", t.recv(1024) #コンソールで印刷
t.send("rcpt to:<[email protected] \r\n") #受信者を変更しましたが、下に受信者がいるのか、メッセージが下に届くのか、優先度はわかりません。明日実験してみましょう。
print "666", t.recv(1024) #コンソールで印刷
t.send("data\r\n")  #データの役割はまだ発見されていません。明日練習してください
print "777", t.recv(1024)  #コンソールで印刷
# メールコンテンツを送信する
t.send("from:[email protected]\r\n") #オプションで、他の人の送信記録を偽造できます
t.send("to:[email protected]\r\n")  #optional,誰にでも送ることができます
t.send("subject:hello!\r\n")
t.send("\r\n") #smtpプロトコルの要件に従って、タイトルの後に空白行を送信する必要があります
t.send("mail test1111!\r\n") #メールコンテンツを送信する
t.send(".\r\n")
print "888", t.recv(1024)

Pythonでメール機能を実装する方法についてのこの記事はこれで終わりです。Pythonでメール機能を実装する方法の詳細については、ZaLou.Cnを検索してください。

Recommended Posts

Pythonがメール機能を実装する方法
Pythonがタイマー機能を実装する方法
PythonがFTP機能を実装する方法
pythonでround関数を使用する方法
Pythonでzip関数を使用する方法
pythonでformat関数を使用する方法
PythonはSMTPメール送信を実装します
Pythonは画像スティッチング機能を実装しています
Pythonは実店舗のゲームを実装しています
pythonはどのように環境を変えますか
Pythonは単にスネークゲームを実装します
Python3はシングルトンデザインパターンを実装しています
pythonプログラムを保存する方法
Pythonは、メールを送信するために126のメールボックスを実装しています
PythonはAIフェイスチェンジ機能を実装しています
Pythonは最も急な降下方法を実装します
Pythonは実際の銀行システムを実装しています
Pythonはftpファイル転送機能を実装しています
pythonモジュールを表示する方法
Pythonは航空機戦争プロジェクトを実装します
Pythonはメールを送信するためのQQメールボックスを実装しています
pythonはどのように計算速度を向上させますか
Pythonは分数シーケンスの合計を実装します
pythonでid関数を実行する方法
pythonのid関数は何ですか
pythonはどのように独自の関数を呼び出すのですか
pythonは勾配メソッドを実装しますpython最速の降下メソッド
Pythonはjsonモジュールをどのように処理しますか
python3はマスク描画の機能を実現します
Pythonタイムモジュールを学ぶ方法
pythonの関数本体は何ですか
python3は単に結合された設計パターンを実装します
2.1 Pythonインタープリター(pythonインタープリター)
Python enumerate()関数
Python関数バッファー
pythonでのadbの機能は何ですか
Pythonはemailモジュールを使用してメールを送信します
PythonはDoudizhuでカードのシャッフルを実装します
Pythonはスネークゲームのソースコードを実装しています
コマンドラインからpythonを入力する方法
27歳でパイソンを学ぶのはどうですか?
pythonを使用してhostsファイルを切り替える方法
ダウンロードしたモジュールをpythonでインストールする方法
Pythonコードをまとめて正しく移動する方法
Pythonはスーパーマリオを実装しています
Python関数パラメータ分類の原理の詳細な説明
Pythonはtic-tac-toeゲームを実装しています
Pythonカスタム関数の基本
Pythonはtic-tac-toeゲームを実装しています
pythonファイルが書かれた後に練習する方法
Pythonの結合関数
Python組み込み関数-compile()
pythonはどのように辞書のキーを呼び出しますか
Pythonはマンマシンゴバンを実装します
pythonはどのようにしてキーボードから入力例を取得しますか
Python関数の基礎学習
PythonはTetrisゲームを実装しています
Pythonデータ分析-関数の適用
Pythonは画像スティッチングを実装しています
Pythonでのパッケージの導入を理解する方法
Pythonはminesweeperゲームを実装しています