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