📜  发送电子邮件 python (1)

📅  最后修改于: 2023-12-03 15:22:55.325000             🧑  作者: Mango

发送电子邮件 Python

简介

Python是一种通用的高级编程语言,可用于创建各种类型的应用程序,包括网络应用程序。邮件是网络应用程序中的重要组成部分,Python中的smtplib和email模块使得发送电子邮件变得轻松。

smtplib模块

smtplib模块提供了用于与SMTP服务器交互的工具。以下示例演示如何使用smtplib模块发送邮件:

import smtplib

sender_email = "youremail@example.com"
receiver_email = "recipient@example.com"
password = input("Type your password and press enter: ")
message = """\
Subject: Hi there

This message is sent from Python."""

server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message)

下面是代码如何发送电子邮件的步骤(以Gmail为例):

  1. 导入smtplib模块。
  2. 设置发件人和收件人的电子邮件地址,以及电子邮件内容和密码(这个密码是发送电子邮件才需要,由发件人邮箱提供)。
  3. 创建一个SMTP服务器实例,此处按Gmail的端口和SMTP服务器地址创建。
  4. 开始TLS加密通信。
  5. 使用发件人电子邮件地址和密码登录SMTP服务器。
  6. 使用sendmail()方法发送电子邮件。
email模块

email模块提供了用于创建、解析和操作电子邮件的工具。以下示例演示如何使用email模块创建电子邮件:

import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage

sender_email = "youremail@example.com"
receiver_email = "recipient@example.com"
password = input("Type your password and press enter: ")

message = MIMEMultipart()
message["From"] = sender_email
message["To"] = receiver_email
message["Subject"] = "Hi there"
text = MIMEText("This message is sent from Python.")
message.attach(text)

with open("file.jpg", "rb") as attachment:
    image = MIMEImage(attachment.read())
    message.attach(image)

server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, message.as_string())

下面是代码如何创建电子邮件的步骤:

  1. 导入相关模块,如MIMEText、MIMEMultipart和MIMEImage。
  2. 设置发件人和收件人的电子邮件地址,以及电子邮件主题、内容和附件,并将它们加入到MIMEMultipart对象中。
  3. 创建SMTP服务器实例,与发件人邮箱登录。
  4. 使用sendmail()方法发送创建好的电子邮件。
总结

Python是一种非常强大的编程语言,可以用于发送电子邮件和访问网络资源。上面的示例演示了使用Python发送电子邮件的两种方法:smtplib模块和email模块。在实践中,这些模块可以帮助程序员编写更复杂和有用的应用程序。