


Python を使用して電子メールを送信する 2 つの例 (Python での電子メールの添付ファイルの送信は、電子メール モジュールを使用して実装できます)
Python の電子メール モジュールを使用して、添付ファイル付きの電子メールを送信できます。
SMTP (Simple Mail Transfer Protocol)
メール転送エージェント (MTA) プログラムは、SMTP プロトコルを使用して受信者のメール サーバーに電子メールを送信します。 SMTP プロトコルは電子メールの送信にのみ使用でき、電子メールの受信には使用できません。ほとんどの送信メール サーバー (送信メール サーバー) は SMTP プロトコルを使用します。 SMTP プロトコルのデフォルトの TCP ポート番号は 25 です。
SMTP プロトコルの重要な機能は、電子メールを中継する機能です。これは 2 つの状況で機能します。1 つは電子メールがクライアントからサーバーに送信されるとき、もう 1 つは電子メールが 1 つのサーバーから別のサーバーに送信されるときです。
POP3 (ポスト オフィス プロトコル) と IMAP (インターネット メッセージ アクセス プロトコル)
POP プロトコルと IMAP プロトコルは、電子メールの受信に使用される 2 つの最も一般的なプロトコルです。ほとんどすべてのメール クライアントとサーバーは両方のプロトコルをサポートしています。
POP3 プロトコルは、ユーザーにメールボックスにアクセスして電子メールを取得するための簡単で標準的な方法を提供します。 POP3 プロトコルを使用する電子メール クライアントの通常の作業プロセスは、サーバーに接続し、すべてのメッセージを取得してユーザーのホストに保存し、サーバーからメッセージを削除して切断します。 POP3 プロトコルのデフォルトの TCP ポート番号は 110 です。
IMAP プロトコルは、ユーザーがオフラインで読むことを可能にする便利な電子メール ダウンロード サービスも提供します。 IMAP プロトコルを使用する電子メール クライアントは通常、ユーザーが明示的に削除するまでメッセージをサーバー上に保持します。この機能により、複数のクライアントが同時にメールボックスを管理できるようになります。 IMAP プロトコルには概要閲覧機能があり、ユーザーは電子メールの到着時刻、件名、送信者、サイズなどの情報をすべて読んだ上で、ダウンロードするかどうかを決定できます。 IMAP プロトコルのデフォルトの TCP ポート番号は 143 です。
電子メール形式 (RFC 2822)
各電子メールには、ヘッダーと本文の 2 つの部分があり、空白行で区切られています。
電子メール ヘッダーの各フィールド (フィールド) には、コロンで区切られたフィールド名とフィールド値の 2 つの部分が含まれます。注意すべき 2 つのフィールドがあります: From フィールドと Sender フィールドです。 From フィールドは電子メールの作成者を示し、Sender フィールドは電子メールの送信者を示します。 From フィールドに複数の作成者が含まれる場合は、Sender フィールドを指定する必要があります。From フィールドの作成者が 1 人のみで、作成者と送信者が同じ場合は、Sender フィールドを使用しないでください。それ以外の場合は、From フィールドと Sender フィールドを指定する必要があります。同時に使用する必要があります。
電子メールの本文には電子メールのコンテンツが含まれており、そのタイプは電子メール ヘッダーの Content-Type フィールドで指定されます。 RFC 2822 で定義された電子メール形式では、電子メールの本文は単なる ASCII エンコードされた文字シーケンスです。
MIME (多目的インターネットメール拡張機能) (RFC 1341)
MIME は、非 ASCII エンコードテキスト、非テキスト添付ファイル、および複数の部分 (マルチパート) を含む電子メール本文をサポートするために電子メール形式を拡張します。
Python メール モジュール
1. クラスメール.メッセージ.メッセージ
__getitem__、__setitem__ は、obj[key] の形式でアクセスを実装します。
Msg.attach(playload): 現在のメッセージにプレイロードを追加します。
Msg.set_playload(playload): Msg オブジェクト全体のメール本文を playload に設定します。
Msg.add_header(_name, _value, **_params): 電子メールのヘッダー フィールドを追加します。
2. class email.mime.base.MIMEBase(_maintype, _subtype, **_params)
すべての MIME クラスの基本クラスは、email.message.Message クラスのサブクラスです。
3. クラス email.mime.multipart.MIMEMultipart()
電子メール モジュールのバージョン 3.0 (Python 2.3 ~ Python 2.5) では、このクラスは email.MIMEMultipart.MIMEMultipart にあります。
このクラスは MIMEBase の直接のサブクラスであり、マルチパートの電子メール本文を含む MIME オブジェクトを生成するために使用されます。
4. クラス email.mime.text.MIMEText(_text)
文字列 _text を使用して、MIME オブジェクトの本文テキストを生成します。
コードの実装
!/usr/bin/env python
# -*- コーディング: UTF-8 -*-
from email.mime.multipart import MIMEMultipart
from email.mime .base import MIMEBase
from email.mime.text import MIMEText
# python 2.3.*: email.Utils email.Encoders
from email.utils import COMMASPACE,formatdate
from email import encoders
import os
#server['name'],server['user'],server['passwd']
def send_mail(server, fro, to, subject, text, files=[]):
assert type(server) == dict
assert type(to) == list
assert type(files) == list
msg = MIMEMultipart ()
msg['From'] = fro
msg['Subject'] = subject
msg['To'] = COMMASPACE.join(to) #COMMASPACE==', '
msg['Date'] = formatdate(localtime=True)
msg.attach(MIMEText(text))
ファイル内のファイルの場合:
part = MIMEBase('application', 'octet- stream') #'octet-stream': バイナリデータ
part.set_payload(open(file, 'rb'.read()))
encoders.encode_base64(part)
part.add_header('Content -性質」、「愛着」。 filename="%s"' % os.path.basename(file))
msg.attach(part)
import smtplib
smtp = smtplib.SMTP(server['name'])
smtp.login(server['user'], server['passwd'])
smtp.sendmail(fro, to, msg.as_string())
smtp.close()
Python を利用した smtplib库实现邮件送信
import smtplib
def sendmail():
try:
smtp=smtplib.SMTP(HOST)
smtp.login(USER,PASSWORD) #登录邮箱
smtp.sendmail(USER+"@"+PROFIX,TO,MSG) #発信邮件
smtp.quit( )
print 'メール送信成功'
例外、e:
print e
print 'メール送信失敗'
アイテムは送信できます
その後学习了一点定义msg
python 中に有几个类库生成丰富的 msg 格式
总结一简単的 MIMEText,可以编辑许多邮件头情報,可编辑邮件格式
メールから.MIMEText import MIMEText
msg=MIMEText("要送信内容","格式,例:html,plain","编码,例:gb2312,utf-8")
msg['From']= '邮件中に表示される送信者の名前'
msg['To']='邮件中に表示される送信者の名前'
msg['Subject']='邮件标题'
これらの都は、不設置

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











このチュートリアルでは、Pythonを使用してZIPFの法則の統計的概念を処理する方法を示し、法律の処理時にPythonの読み取りおよび並べ替えの効率性を示します。 ZIPF分布という用語が何を意味するのか疑問に思うかもしれません。この用語を理解するには、まずZIPFの法律を定義する必要があります。心配しないでください、私は指示を簡素化しようとします。 ZIPFの法則 ZIPFの法則は単に意味します。大きな自然言語のコーパスでは、最も頻繁に発生する単語は、2番目の頻繁な単語のほぼ2倍の頻度で表示されます。 例を見てみましょう。アメリカ英語の茶色のコーパスを見ると、最も頻繁な言葉は「thであることに気付くでしょう。

この記事では、Pythonライブラリである美しいスープを使用してHTMLを解析する方法について説明します。 find()、find_all()、select()、およびget_text()などの一般的な方法は、データ抽出、多様なHTML構造とエラーの処理、および代替案(SEL

ノイズの多い画像を扱うことは、特に携帯電話や低解像度のカメラの写真でよくある問題です。 このチュートリアルでは、OpenCVを使用してPythonの画像フィルタリング手法を調査して、この問題に取り組みます。 画像フィルタリング:強力なツール 画像フィルター

PDFファイルは、クロスプラットフォームの互換性に人気があり、オペレーティングシステム、読み取りデバイス、ソフトウェア間でコンテンツとレイアウトが一貫しています。ただし、Python Plansing Plain Text Filesとは異なり、PDFファイルは、より複雑な構造を持つバイナリファイルであり、フォント、色、画像などの要素を含んでいます。 幸いなことに、Pythonの外部モジュールでPDFファイルを処理することは難しくありません。この記事では、PYPDF2モジュールを使用して、PDFファイルを開き、ページを印刷し、テキストを抽出する方法を示します。 PDFファイルの作成と編集については、私からの別のチュートリアルを参照してください。 準備 コアは、外部モジュールPYPDF2を使用することにあります。まず、PIPを使用してインストールします。 ピップはpです

このチュートリアルでは、Redisキャッシングを活用して、特にDjangoフレームワーク内でPythonアプリケーションのパフォーマンスを向上させる方法を示しています。 Redisのインストール、Django構成、およびパフォーマンスの比較をカバーして、Beneを強調します

この記事では、深い学習のためにTensorflowとPytorchを比較しています。 関連する手順、データの準備、モデルの構築、トレーニング、評価、展開について詳しく説明しています。 特に計算グラップに関して、フレームワーク間の重要な違い

このチュートリアルでは、Python 3にカスタムパイプラインデータ構造を作成し、機能を強化するためにクラスとオペレーターのオーバーロードを活用していることを示しています。 パイプラインの柔軟性は、一連の機能をデータセットに適用する能力にあります。

データサイエンスと処理のお気に入りであるPythonは、高性能コンピューティングのための豊富なエコシステムを提供します。ただし、Pythonの並列プログラミングは、独自の課題を提示します。このチュートリアルでは、これらの課題を調査し、グローバルな承認に焦点を当てています
