ホームページ > バックエンド開発 > Python チュートリアル > Pythonでメール送信ログを設定するにはどうすればよいですか?

Pythonでメール送信ログを設定するにはどうすればよいですか?

PHPz
リリース: 2023-04-26 17:28:08
転載
1798 人が閲覧しました

Pythonでメール送信ログを設定するにはどうすればよいですか?

数日前にグループ内で Python の設定メール送信ログについて質問した人がいて、かなり詳しいと思うので、落とし穴を避けるためにここに記録しておきます。未来。

  • Python のlogging.handlers.SMTPHandler メソッドを使用して、指定されたメールボックスにログを送信できます。以前は 163 個のメールボックス構成パラメータを使用しており、安心して使用できていますが、QQ の企業メールボックスを使用すると、常にエラーが発生し、ログインがタイムアウトしましたと表示されます。

Pythonでメール送信ログを設定するにはどうすればよいですか?

#最終的に、ログのソース コードを読んで理由がわかりました。ログはデフォルトで TLS 接続をサポートしています。QQ Enterprise Mailbox と Gmail は両方とも SSL 接続を使用します。

Pythonでメール送信ログを設定するにはどうすればよいですか?

    #最後に簡単な構成をアタッチします
  • 1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    33

    34

    35

    36

    37

    38

    39

    40

    # logging.conf完整配置

    [loggers]

    keys=root,test

    [handlers]

    keys=consoleHandler,fileHandler,testHandler

    [formatters]

    keys=simpleFormatter

    [formatter_simpleFormatter]

    format=%(asctime)s - %(name)s - %(levelname)s - %(message)s - [%(filename)s:%(lineno)s]

    datefmt=

    [logger_root]

    level=INFO

    handlers=consoleHandler,fileHandler

    [logger_test]

    level=INFO

    handlers=testHandler

    qualname=test

    propagate=0

    [handler_consoleHandler]

    class=StreamHandler

    level=INFO

    formatter=simpleFormatter

    args=(sys.stdout,)

    [handler_fileHandler]

    class=FileHandler

    level=INFO

    formatter=simpleFormatter

    args=('log/spider_db.log', 'a')

    [handler_testHandler]

    class=handlers.SMTPHandler

    level=INFO

    formatter=simpleFormatter

    args=(('smtp.163.com',25), 'username@163.com', ['somebody01@example.com','somebody02@example.com'], 'Test SMTPHandler', ('username', 'password'))

    python

    # 邮件测试例子

    import logging

    import logging.config

    logging.config.fileConfig("logging.conf")

    logger = logging.getLogger('test')

    logger.info('hello body ~')

    ログイン後にコピー


以上がPythonでメール送信ログを設定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート