繁体   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