簡體   English   中英

Python - 我正在嘗試向自己發送 email

[英]Python - I'm trying to send an email to myself

所以我使用模塊 Mail1: https://pypi.org/project/mail1/使用我的 Btinternet 帳戶作為發件人向自己發送 email。 這是代碼:

import mail1

mail1.send(subject='Test',
           text='This is a test!',
           recipients='RECIPIENTS EMAIL',
           sender='MY EMAIL',
           password='MY PASSWORD',
           smtp_host='mail.btinternet.com')

但我收到此錯誤:

"C:\Users\rayne\PycharmProjects\python project\venv\Scripts\python.exe" "C:/Users/rayne/PycharmProjects/python project/mail test.py"
Traceback (most recent call last):
  File "C:/Users/rayne/PycharmProjects/python project/mail test.py", line 8, in <module>
    smtp_host='mail.btinternet.com')
  File "C:\Users\rayne\PycharmProjects\python project\venv\lib\site-packages\mail1\mail1.py", line 95, in send
    smtp.sendmail(sender, recipients+cc+bcc, message.as_string())
  File "C:\Users\rayne\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 867, in sendmail
    raise SMTPSenderRefused(code, resp, from_addr)
smtplib.SMTPSenderRefused: (530, b'authentication required - Your email could not be sent. To fix this you must make a simple change to your email client (known as SMTP authentication). For advice visit http://www.bt.com/smtp', 'MY EMAIL')

我如何對其進行身份驗證以便它可以發送? 謝謝!

好的,所以我只是嘗試了一種不同的方法,這里是代碼:

import mail1
from smtplib import SMTP_SSL


with SMTP_SSL('imap.mail.me.com', 993) as smtp:
    smtp.login('MY ICLOUD ACCOUNT', 'APP-SPECIFIC PASSWORD')

但我現在有一個新錯誤:

"C:\Users\rayne\PycharmProjects\python project\venv\Scripts\python.exe" "C:/Users/rayne/PycharmProjects/python project/mail test.py"
Traceback (most recent call last):
  File "C:/Users/rayne/PycharmProjects/python project/mail test.py", line 12, in <module>
    with SMTP_SSL('imap.mail.me.com', 993) as smtp:
  File "C:\Users\rayne\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 1031, in __init__
    source_address)
  File "C:\Users\rayne\AppData\Local\Programs\Python\Python37\lib\smtplib.py", line 254, in __init__
    raise SMTPConnectError(code, msg)
smtplib.SMTPConnectError: (-1, b'[CAPABILITY XAPPLEPUSHSERVICE IMAP4 IMAP4rev1 SASL-IR AUTH=ATOKEN AUTH=PLAIN] (2108B29-d5d83408a736) st43p00im-tygg10060801.me.com')

為了進行 SMTP 身份驗證,您需要在mail1.send中提供用戶名參數:

import mail1

mail1.send(subject='Test',
           text='This is a test!',
           recipients='RECIPIENTS EMAIL',
           sender='MY EMAIL',
           username='MY USERNAME',
           password='MY PASSWORD',
           smtp_host='mail.btinternet.com')

您可以提供的 args 的完整列表很容易在 PyPI 頁面上找到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM