在 linux 机器上使用 python 发送邮件
Sending mail using python in linux machine
我在 jupyter 中 运行 代码时收到邮件,但我在我的 Linux 邮箱中尝试通过 python 我没有收到任何邮件。
下面是代码:
#! /usr/bin/python
import smtplib
import ssl
port = 587
smtp_server = "smtp-mail.outlook.com"
sender = "example@outlook.com"
recipient = "example@outlook.com"
sender_password = "Password"
message = """
Subject: This is a test message
Sent using Python."""
SSL_context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, port) as server:
server.starttls(context=SSL_context)
server.login(sender, sender_password)
server.sendmail(sender, recipient, message)
您正在尝试将 Outlook 与 SMTP 连接。您应该要求您的电子邮件帐户允许 smtp,默认情况下不一定启用。
此外,您可以尝试基于库的其他解决方案;
from O365 import Message
html_template = """
<html>
<head>
<title></title>
</head>
<body>
{}
</body>
</html>
"""
final_html_data = html_template.format(df.to_html(index=False))
o365_auth = ('sender_username@company_email.com','Password')
m = Message(auth=o365_auth)
m.setRecipients('receiver_username@company_email.com')
m.setSubject('Weekly report')
m.setBodyHTML(final)
m.sendMessage()
来自
或
安装 redmail:
pip install redmail
并尝试使用此示例;
from redmail import outlook
outlook.user_name = "example@hotmail.com"
outlook.password = "<MY PASSWORD>"
outlook.send(
receivers=["you@example.com"],
subject="An example",
text="Hi, this is an example."
)
我在 jupyter 中 运行 代码时收到邮件,但我在我的 Linux 邮箱中尝试通过 python 我没有收到任何邮件。
下面是代码:
#! /usr/bin/python
import smtplib
import ssl
port = 587
smtp_server = "smtp-mail.outlook.com"
sender = "example@outlook.com"
recipient = "example@outlook.com"
sender_password = "Password"
message = """
Subject: This is a test message
Sent using Python."""
SSL_context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, port) as server:
server.starttls(context=SSL_context)
server.login(sender, sender_password)
server.sendmail(sender, recipient, message)
您正在尝试将 Outlook 与 SMTP 连接。您应该要求您的电子邮件帐户允许 smtp,默认情况下不一定启用。
此外,您可以尝试基于库的其他解决方案;
from O365 import Message
html_template = """
<html>
<head>
<title></title>
</head>
<body>
{}
</body>
</html>
"""
final_html_data = html_template.format(df.to_html(index=False))
o365_auth = ('sender_username@company_email.com','Password')
m = Message(auth=o365_auth)
m.setRecipients('receiver_username@company_email.com')
m.setSubject('Weekly report')
m.setBodyHTML(final)
m.sendMessage()
来自
或 安装 redmail:
pip install redmail
并尝试使用此示例;
from redmail import outlook
outlook.user_name = "example@hotmail.com"
outlook.password = "<MY PASSWORD>"
outlook.send(
receivers=["you@example.com"],
subject="An example",
text="Hi, this is an example."
)