在本地主机上发送邮件可以使用SMTP(Simple Mail Transfer Protocol)协议来实现。下面是一个使用Python的示例代码:
import smtplib
from email.mime.text import MIMEText
def send_email(subject, message, from_email, to_email):
# 设置邮件内容
msg = MIMEText(message)
msg['Subject'] = subject
msg['From'] = from_email
msg['To'] = to_email
# 连接SMTP服务器
server = smtplib.SMTP('localhost')
# 发送邮件
server.sendmail(from_email, [to_email], msg.as_string())
server.quit()
# 调用函数发送邮件
send_email("测试邮件", "这是一封测试邮件", "sender@example.com", "recipient@example.com")
关于暂存问题,如果需要在发送邮件前对邮件进行暂存,可以将邮件保存在本地的文件中,然后在适当的时候再发送。下面是一个示例:
import smtplib
from email.mime.text import MIMEText
def save_email(subject, message, from_email, to_email, filename):
# 设置邮件内容
msg = MIMEText(message)
msg['Subject'] = subject
msg['From'] = from_email
msg['To'] = to_email
# 将邮件保存到文件
with open(filename, 'w') as f:
f.write(msg.as_string())
# 调用函数保存邮件
save_email("测试邮件", "这是一封测试邮件", "sender@example.com", "recipient@example.com", "email.txt")
# 在适当的时候读取文件并发送邮件
def send_saved_email(filename):
# 从文件中读取邮件内容
with open(filename, 'r') as f:
saved_email = f.read()
# 连接SMTP服务器
server = smtplib.SMTP('localhost')
# 发送邮件
server.sendmail("sender@example.com", "recipient@example.com", saved_email)
server.quit()
# 调用函数发送保存的邮件
send_saved_email("email.txt")
请注意,以上代码示例是使用本地主机上的SMTP服务器发送邮件,如果你使用的是其他的邮件服务提供商(如Gmail、Outlook等),需要相应地更改SMTP服务器地址和端口号,并提供正确的用户名和密码进行身份验证。