相关疑难解决方法(0)

如何用Python发送电子邮件?

此代码可以正常工作并向我发送电子邮件:

import smtplib
#SERVER = "localhost"

FROM = 'monty@python.com'

TO = ["jon@mycompany.com"] # must be a list

SUBJECT = "Hello!"

TEXT = "This message was sent with Python's smtplib."

# Prepare actual message

message = """\
From: %s
To: %s
Subject: %s

%s
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)

# Send the mail

server = smtplib.SMTP('myserver')
server.sendmail(FROM, TO, message)
server.quit()
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试将其包装在这样的函数中:

def sendMail(FROM,TO,SUBJECT,TEXT,SERVER):
    import smtplib
    """this is some test documentation in the function"""
    message = """\
        From: %s
        To: …
Run Code Online (Sandbox Code Playgroud)

python email function smtplib

155
推荐指数
8
解决办法
26万
查看次数

一个简单的SMTP服务器(用Python)

你能建议一个简单的SMTP服务器,它有非常基本的API(非常基本的意思是读,写,删除电子邮件),可以在linux机器上运行吗?我只需要将电子邮件的关键字转换为XML格式并将其FTP到另一台机器.

python smtp

22
推荐指数
4
解决办法
6万
查看次数

如何在没有身份验证的情况下直接将邮件发送到SMTP服

我想直接从脚本发送电子邮件到Gmail电子邮件帐户,直接连接到smtp.gmail.com.

但是,我宁愿不在脚本中使用gmail密码.根据我的阅读,Gmail似乎需要进行身份验证才能发送任何邮件,包括发送给自己的用户.

我的问题是,来自另一台SMTP服务器的邮件是如何传递的,因为该SMTP服务器不具有Gmail凭据.Gmail是否仅要求对" 匿名 "发件人进行身份验证,而且由于我的脚本在个人计算机上运行,​​因此它具有更高的安全性?这是我正在运行的python脚本:

import smtplib
import email
msg = email.message.Message()
msg["From"] = "user@gmail.com"
msg["To"] = "user@gmail.com"
msg["Subject"] = "Test message"
server = smtplib.SMTP("smtp.gmail.com",587)
server.starttls()
server.ehlo_or_helo_if_needed()
try:
    failed = server.sendmail("user@gmail.com","user@gmail.com", msg.as_string())
    server.close()
except Exception as e:
    print(e)
Run Code Online (Sandbox Code Playgroud)

当我运行此脚本时,输出为:

(530, b'5.5.1 Authentication Required. Learn more at
5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 fw5sm21125889wib.0', 'user@gmail.com')
Run Code Online (Sandbox Code Playgroud)

我的问题是,外部SMTP服务器如何避免这个问题?它们是否可以在本地脚本中复制,还是需要正确的反向DNS记录,SPF记录等?

python authentication gmail smtp

21
推荐指数
2
解决办法
7万
查看次数

从本地计算机发送匿名邮件

我使用Python使用外部SMTP服务器发送电子邮件.在下面的代码中,我尝试使用smtp.gmail.com从Gmail 密码发送电子邮件到其他ID.我能够使用下面的代码生成输出.

import smtplib
from email.MIMEText import MIMEText
import socket


socket.setdefaulttimeout(None)
HOST = "smtp.gmail.com"
PORT = "587"
sender= "somemail@gmail.com"
password = "pass"
receiver= "receiver@somedomain.com"

msg = MIMEText("Hello World")

msg['Subject'] = 'Subject - Hello World'
msg['From'] = sender
msg['To'] = receiver

server = smtplib.SMTP()
server.connect(HOST, PORT)
server.starttls()
server.login(sender,password)
server.sendmail(sender,receiver, msg.as_string())
server.close()
Run Code Online (Sandbox Code Playgroud)

但是我必须在没有外部SMTP服务器的帮助下做同样的事情.如何用Python做同样的事情?
请帮忙.

python email smtp anonymous

15
推荐指数
1
解决办法
3万
查看次数

标签 统计

python ×4

smtp ×3

email ×2

anonymous ×1

authentication ×1

function ×1

gmail ×1

smtplib ×1