Python を使用して電子メールを送信します (完全なソース コードが添付されています)。

目次

1. 背景

1.1. 序文

1.2. 説明

2.SMTPプロトコル

2.1. SMTPプロトコルの機能

2.2. SSL機能

3. 手順

3.1. QQ メールボックス SMTP を開く

4. コード

4.1. 完全なソースコード

5. 結果

5.1. コードの実行結果

6. まとめ

6.1. 概要


1. 背景

1.1. 序文

2023 12306用の簡単な自動チケット購入プログラムを書きました. このパートは、チケット購入成功後の通知送信の問題を解決するものです. 通知の内容は簡単な中国語の文章ですので、深い知識がなくても簡単なメールの送信を学習するだけで十分です.使用されるプロトコルの理解、送受信の具体的なプロセス。

記事リンク: 12306 自動チケット購入

1.2. 説明

オペレーティングシステム: win10;

エディタ:pycharmedu;

言語とバージョン: Python 3.10;

使用されるライブラリ: smtplib、MIMEText、Header。

使用プロトコル: SMTP;

実装のアイデア: QQ メールボックスの SMTP プロトコル フレームワークを使用してコンテンツを転送します。

2.SMTPプロトコル

2.1. SMTPプロトコルの機能

        SMTP (Simple Mail Transfer Protocol) は、単純なメール転送プロトコルであり、送信元アドレスから宛先アドレスにメールを送信するための一連のルールであり、メール転送方法を制御します。

キーワード:メール送信、手紙転送

2.2. SSL機能

        SSL (Secure Sockets Layer ) セキュア ソケット レイヤ。Word Wide Web (WWW) 通信を保護するために使用されます。主なタスクは、プライバシー、情報の完全性、ID 認証を提供することです。

キーワード: プライバシー、本人認証

3. 手順

3.1. QQ メールボックス SMTP を開く

注: メールを送信するアカウントでこのサービスを有効にするだけでよく、メールを受信するサービスを有効にする必要はありません。

1) コンピューターの QQ メールボックスにログインし、ログイン後に [設定] をクリックします。

以下の図 1 に示すように:

写真

2) 電子メール設定でアカウントを見つけて、クリックします。

以下の図 2 に示すように:

図2

 3) 下にスクロールして、開くサービスを見つけ、プロンプトに従って確認します。

以下の図 3 に示すように

ヒント: 検証が完了すると、キーが作成されるので、それを覚えておく必要があります。

画像3

4. コード

4.1. 完全なソースコード

ここで実装されているのは、メールボックスの 1 つがチケット購入成功プロンプト メッセージを別のメールボックス (他のメールボックスは任意のメールボックス) に送信することです。ここでは、QQ メールボックスを使用して別の QQ メールボックスにメッセージを送信します。

import smtplib  # 导入协议
from email.mime.text import MIMEText  # 导入发送包装
from email.header import Header  # 标题包

send_addr = "发送人邮箱"
receive_addr = "接收人邮箱"
key = "验证成功出现的密钥"  # 密钥
text = "成功抢到票,请前往购票平台付款!"  # 发送信息正文内容
smtp_addr = "smtp.qq.com"

msg = MIMEText(text, 'plain', 'utf-8')
msg["From"] = send_addr  # 发送地址
msg["To"] = receive_addr  # 接收地址
msg["Subject"] = Header(text, 'utf-8')  # 标题

server = smtplib.SMTP_SSL(smtp_addr, 465)  # url和端口
server.login(send_addr, key)  # 登录邮箱
server.sendmail(send_addr, receive_addr, msg.as_string())  # 发送方、接收方、发送信息格式等
server.quit()  # 退出

5. 結果

5.1. コードの実行結果

以下の図 4 に示すように:

 図4

6. まとめ

6.1. 概要

1) 必要な機能が完了し、電子メールを正常に送信できます。

2) 他に思い出させる良い方法はありますか?

        私の心は真っ白です。

おすすめ

転載: blog.csdn.net/qq_57663276/article/details/128626069