Python 发邮件
有大佬能帮忙看一下这个问题,一直报:(550, b'The "From" header is missing or invalid. Please follow RFC5322, RFC2047, RFC822 standard protocol. https://service.mail.qq.com/detail/124/995.') 这个问题是因为邮件发送时缺少或者无效的发件人地址导致的。邮件发送时需要遵循RFC5322、RFC2047、RFC822标准协议,确保发件人地址的正确性。可以通过在代码中指定发件人地址来解决这个问题。以下是一个使用Python发送邮件的示例代码:
import smtplib
from email.mime.text import MIMEText
from email.header import Header
# 发件人地址
sender = 'your_email_address'
# 收件人地址
receiver = 'receiver_email_address'
# SMTP服务器地址
smtp_server = 'smtp_server_address'
# 发件人邮箱账号
username = 'your_email_address'
# 发件人邮箱密码或授权码
password = 'your_email_password_or_authorization_code'
# 邮件正文内容
message = MIMEText('邮件内容', 'plain', 'utf-8')
# 邮件主题
message['Subject'] = Header('邮件主题', 'utf-8')
# 发件人地址
message['From'] = Header(sender, 'utf-8')
# 收件人地址
message['To'] = Header(receiver, 'utf-8')
# 发送邮件
try:
smtpObj = smtplib.SMTP(smtp_server)
smtpObj.login(username, password)
smtpObj.sendmail(sender, receiver, message.as_string())
print("邮件发送成功")
except smtplib.SMTPException as e:
print("Error: 无法发送邮件", e)
在上面的代码中,需要将 your_email_address 、 receiver_email_address 、 smtp_server_address 、 your_email_password_or_authorization_code 替换为实际的值。同时,需要确保发件人地址的正确性,以遵循RFC5322、RFC2047、RFC822标准协议。 isdkz 发表于 2023-9-13 15:37
这个问题是因为邮件发送时缺少或者无效的发件人地址导致的。邮件发送时需要遵循RFC5322、RFC2047、RFC822标 ...
同样的问题{:10_269:} 本帖最后由 cflying 于 2023-9-13 17:31 编辑
1、要不你去掉header,只保留sender试试,或者直接去掉utf-8,应该就不会550了
2、待会儿我知道你下个问题肯定是附件为啥发不出去?我先给你回答了:你用MIMEText发附件是几个意思?MIMEMultipart干啥的?
1 本帖最后由 世味 于 2023-9-14 10:13 编辑
cflying 发表于 2023-9-13 16:31
1、要不你去掉header,只保留sender试试,或者直接去掉utf-8,应该就不会550了
2、待会儿我知道你下个问题 ...
这里的确用错了,应该用MIMEApplication发附件,谢谢大佬提醒.
页:
[1]