はじめに
ウェブサイトを検索すると、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。下の図に示すように、上の 2 つの赤いボックスをオンにする必要があります。そうでない場合は、「有効にする」を選択してチェックを入れる必要があります。そうすると、下の赤いボックスに
SMTP サーバー: smtp.163.com
実装コード
後上記の設定 環境をデバッグした後、以下のコードを実装できます。コードを記述するには、pycharm4.5.3 エディターを使用することをお勧めします。以下のコードは、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:Non-ASCIIcharacter 'xe5'infileF:/python/s12/pymail.pyonline2,butnoencodingdeclared;seehttp://www.php.cn/
したがって、上記のエンコードエラーメッセージが表示される場合は、ページの最初の行にを追加できます #coding:utf-8
#utf-8 にエンコードを強制するまたは
#coding:GBK
#GBK にエンコードを強制する上記は全体ですこの記事の内容が皆さんの学習に役立つことを願っています。また、PHP 中国語 Web サイトもサポートしてください。
SMTP を実装して Python で電子メールを送信する方法に関する詳細なチュートリアルについては、PHP 中国語 Web サイトに注目してください。
PythonArraysSupportVariousoperations:1)SlicingExtractsSubsets、2)Appending/ExtendingAdddesements、3)inSertingSelementSatspecificpositions、4)remvingingDeletesements、5)sorting/verversingsorder、and6)listenionsionsionsionsionscreatenewlistsebasedexistin

numpyarraysAressertialentionsionceivationsefirication-efficientnumericalcomputations andDatamanipulation.theyarecrucialindatascience、mashineelearning、物理学、エンジニアリング、および促進可能性への適用性、scaledatiencyを効率的に、forexample、infinancialanalyyy

UseanArray.ArrayOverAlistinPythonは、Performance-criticalCode.1)homogeneousdata:araysavememorywithpedelements.2)Performance-criticalcode:Araysofterbetterbetterfornumerumerumericaleperations.3)interf

いいえ、notallistoperationSaresuptedbyarrays、andviceversa.1)arraysdonotsupportdynamicoperationslikeappendorintorintorinsertizizing、whosimpactsporformance.2)リスト

toaccesselementsinapythonlist、useindexing、negativeindexing、slicing、oriteration.1)indexingstartsat0.2)negativeindexingAcsesess.3)slicingextractStions.4)reterationSuseSuseSuseSuseSeSeS forLoopseCheckLentlentlentlentlentlentlenttodExeror。

Arraysinpython、特にvianumpy、arecrucialinscientificComputing fortheirefficienty andversitility.1)彼らは、fornumericaloperations、data analysis、andmachinelearning.2)numpy'simplementation incensuresfasteroperationsthanpasteroperations.3)arayableminablecickick

Pyenv、Venv、およびAnacondaを使用して、さまざまなPythonバージョンを管理できます。 1)Pyenvを使用して、複数のPythonバージョンを管理します。Pyenvをインストールし、グローバルバージョンとローカルバージョンを設定します。 2)VENVを使用して仮想環境を作成して、プロジェクトの依存関係を分離します。 3)Anacondaを使用して、データサイエンスプロジェクトでPythonバージョンを管理します。 4)システムレベルのタスク用にシステムPythonを保持します。これらのツールと戦略を通じて、Pythonのさまざまなバージョンを効果的に管理して、プロジェクトのスムーズな実行を確保できます。

numpyarrayshaveveraladvantages-averstandardpythonarrays:1)thealmuchfasterduetocベースのインプレンテーション、2)アレモレメモリ効率、特にlargedatasets、および3)それらは、拡散化された、構造化された形成術科療法、


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

WebStorm Mac版
便利なJavaScript開発ツール

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

ホットトピック









