[英]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.