この記事では、主に Python で SMTP メール送信を実装する方法に関する詳細なチュートリアルを紹介します。SMTP メール送信コードも添付されていますので、興味のある方は参考にしてください
はじめに
Python でメールを送信する方法に関するチュートリアルが見つかりました。ウェブサイトを検索するとたくさんありましたが、どれも多くの原則について述べており、指定されたコードを使用して電子メールを送信するテストを行ったところ、失敗しました。原因を見つけるには、環境のデバッグが原因であるため、今日は環境のデバッグからコードの実装までの詳細なチュートリアルを説明します。解決策を見つけましたが、効果的な解決策を得ることができませんでした。
SMTP プロトコル
まず SMTP (Simple Mail Transfer Protocol) について理解します。SMTP プロトコルは、メール配信エージェントが受信者のメール サーバーに電子メールを送信するために使用されます。 SMTP プロトコルは電子メールの送信にのみ使用でき、電子メールの受信には使用できません。ほとんどの電子メール送信サーバーは SMTP プロトコルを使用します。 SMTP プロトコルのデフォルトの TCP ポート番号は 25 です。
環境のデバッグ
前述したように、電子メールは SMTP プロトコルを使用して送信されるため、最初に送信者のメールボックスで SMTP プロトコルが有効になっているかどうかを確認する必要があります。有効になっていない場合は、163.com メールボックスを使用しました。送信者の電子メール アドレスとして、次の図に示すように SMTP プロトコルを有効にします。
1. 以下に示すように、まず 163.com メールボックス (NetEase メールボックス) にログインします
設定] オプションがあることを確認します。メールボックスで、オプションをクリックし、ドロップダウン メニューの「POP3/SMTP/IMAP」を選択します
3. 「チェックされていません」のように、チェックする必要があります。有効にすることを選択する場合は、チェックを入れると、下の赤いボックスに
SMTP サーバー: smtp.163 があることがわかります。 .com
実装コード
上記の設定後、環境はデバッグされ、以下のコードを実装することができます。 pycharm4.5.3editorを使用してコードを記述することをお勧めします。次のコードは、python2.7 と python3.4 の両方のバージョンのテストで使用できます。
#coding:utf-8 #强制使用utf-8编码格式 import smtplib #加载smtplib模块 from email.mime.text import MIMEText from email.utils import formataddr my_sender='发件人邮箱账号' #发件人邮箱账号,为了后面易于维护,所以写成了变量 my_user='收件人邮箱账号' #收件人邮箱账号,为了后面易于维护,所以写成了变量 def mail(): ret=True try: msg=MIMEText('填写邮件内容','plain','utf-8') msg['From']=formataddr(["发件人邮箱昵称",my_sender]) #括号里的对应发件人邮箱昵称、发件人邮箱账号 msg['To']=formataddr(["收件人邮箱昵称",my_user]) #括号里的对应收件人邮箱昵称、收件人邮箱账号 msg['Subject']="主题" #邮件的主题,也可以说是标题 server=smtplib.SMTP("smtp.xxx.com",25) #发件人邮箱中的SMTP服务器,端口是25 server.login(my_sender,"发件人邮箱密码") #括号中对应的是发件人邮箱账号、邮箱密码 server.sendmail(my_sender,[my_user,],msg.as_string()) #括号中对应的是发件人邮箱账号、收件人邮箱账号、发送邮件 server.quit() #这句是关闭连接的意思 except Exception: #如果try中的语句没有执行,则会执行下面的ret=False ret=False return ret ret=mail() if ret: print("ok") #如果发送成功则会返回ok,稍等20秒左右就可以收到邮件 else: print("filed") #如果发送失败则会返回filed
以下に示すように、送信が成功すると ok が返され、それ以外の場合は実行が失敗します:
視野を広げましょう
コードは使用できますが、どうしてもいじりたがる人もいます。試してみるとすぐにコードが壊れてしまうので、疑問を解消するための知識ポイントをいくつか紹介します。 1. 上記のコードの最初の行には「#coding:utf-8」がありませんが、このコードを読んでいる多くの人はこの行にあまり注目していないと思います。コードの実装を行うには、-8 形式で十分です。Python ではこの行が非常に重要です。これは、Python2 バージョンで認識されるためです。デフォルトではASCIIエンコーディングになっているため、Pythonで中国語の文字が出現すると認識されず、表示されるエラーメッセージは以下の通りです:
エラーメッセージ
例: ファイル "F:/python/s12/ pymail.py",line2SyntaxError:非 ASCII 文字 'xe5'infileF:/python/s12/pymail.pyonline2,butnoencodingdeclared;http://www.python.org/peps/pep-0263.htmlf を参照してください
ord詳細したがって、上記のエンコードエラーが発生した場合、プロンプトが表示されたら、
#coding:utf-8#を追加して、強制的にエンコードをutf-8
または
#coding:GBK#forceにできます。ページの最初の行にある GBK へのエンコード
[関連する推奨事項]
1.SMTP を使用して電子メールを送信する Python の例の詳細な紹介
2. SMTP を使用して送信する Python のコードの概要メール
3. c# qq メールボックス smtp を呼び出して、修正されたバージョン コードをメールで送信します
4. Python は SMTP を使用してメールを送信します
7. Python smtplib モジュールは SSL/TLS セキュアメールを送信します
以上がPython を使用して SMTP を実装して電子メールを送信する方法の例を共有するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于Seaborn的相关问题,包括了数据可视化处理的散点图、折线图、条形图等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于进程池与进程锁的相关问题,包括进程池的创建模块,进程池函数等等内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于简历筛选的相关问题,包括了定义 ReadDoc 类用以读取 word 文件以及定义 search_word 函数用以筛选的相关内容,下面一起来看一下,希望对大家有帮助。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于数据类型之字符串、数字的相关问题,下面一起来看一下,希望对大家有帮助。

VS Code的确是一款非常热门、有强大用户基础的一款开发工具。本文给大家介绍一下10款高效、好用的插件,能够让原本单薄的VS Code如虎添翼,开发效率顿时提升到一个新的阶段。

本篇文章给大家带来了关于Python的相关知识,其中主要介绍了关于numpy模块的相关问题,Numpy是Numerical Python extensions的缩写,字面意思是Python数值计算扩展,下面一起来看一下,希望对大家有帮助。

pythn的中文意思是巨蟒、蟒蛇。1989年圣诞节期间,Guido van Rossum在家闲的没事干,为了跟朋友庆祝圣诞节,决定发明一种全新的脚本语言。他很喜欢一个肥皂剧叫Monty Python,所以便把这门语言叫做python。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

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

ホットトピック



