如何使用Python脚本在Linux中实现邮件发送与接收
在Linux系统中,我们可以使用Python脚本来实现邮件的发送与接收功能。Python的smtplib和imaplib模块提供了相应的功能。
一、邮件发送
要实现邮件发送功能,首先需要准备好发送方的邮件地址和SMTP服务器的相关信息。以下是一个简单的示例代码:
import smtplib
from email.mime.text import MIMEText
def send_email():
# 发送方的邮箱地址和授权码
sender_email = "your_email@gmail.com"
sender_password = "your_password"
# 接收方的邮箱地址
receiver_email = "recipient_email@gmail.com"
# 邮件主题和内容
subject = "Hello from Python Script"
body = "This is a test email sent from a Python script."
# 创建邮件对象
message = MIMEText(body, "plain")
message["Subject"] = subject
message["From"] = sender_email
message["To"] = receiver_email
# 发送邮件
try:
server = smtplib.SMTP("smtp.gmail.com", 587)
server.starttls()
server.login(sender_email, sender_password)
server.sendmail(sender_email, receiver_email, message.as_string())
print("Email sent successfully")
except Exception as e:
print("Failed to send email. Error:", str(e))
finally:
server.quit()
send_email()
在上述代码中,我们使用了Gmail的SMTP服务器来发送邮件。可以根据需要替换为其他SMTP服务器,同时要注意更改相应的端口号。
二、邮件接收
要实现邮件接收功能,需要准备好接收方的邮箱地址、IMAP服务器的信息以及登录凭证。以下是一个简单的示例代码:
import imaplib
def receive_email():
# 接收方的邮箱地址和授权码
email_address = "recipient_email@gmail.com"
email_password = "your_password"
try:
# 连接到IMAP服务器
mailbox = imaplib.IMAP4_SSL("imap.gmail.com")
mailbox.login(email_address, email_password)
# 选择邮箱
mailbox.select("INBOX")
# 搜索并获取最新的邮件
result, data = mailbox.search(None, "ALL")
latest_email_id = data[0].split()[-1]
result, data = mailbox.fetch(latest_email_id, "(RFC822)")
# 解析邮件内容
email_text = data[0][1].decode("utf-8")
print("Received email:
", email_text)
except Exception as e:
print("Failed to receive email. Error:", str(e))
finally:
mailbox.close()
mailbox.logout()
receive_email()
在上述代码中,我们同样使用了Gmail的IMAP服务器来接收邮件。同样可以根据需要替换为其他IMAP服务器。
以上就是使用Python脚本在Linux中实现邮件发送与接收的基本步骤和代码示例。通过这些代码,我们可以在Linux系统中灵活地发送和接收邮件。希望对您有所帮助!