在表单完成后多次发送同一封电子邮件通常会被认为是错误的,因为这可能会导致重复发送邮件给接收者,给他们带来不必要的骚扰。如果你希望在表单完成后只发送一封电子邮件,请确保在代码中进行适当的逻辑处理来避免重复发送。
以下是一个示例代码,展示了如何在表单完成后发送一封电子邮件,并确保只发送一次:
import smtplib
from email.mime.text import MIMEText
def send_email():
# 构造邮件内容
message = MIMEText('这是一封测试邮件。')
message['Subject'] = '测试邮件'
message['From'] = 'sender@example.com'
message['To'] = 'recipient@example.com'
# 发送邮件
try:
smtp_obj = smtplib.SMTP('smtp.example.com', 587)
smtp_obj.starttls()
smtp_obj.login('sender@example.com', 'password')
smtp_obj.sendmail('sender@example.com', 'recipient@example.com', message.as_string())
smtp_obj.quit()
print('邮件发送成功')
except Exception as e:
print('邮件发送失败:', str(e))
# 在表单完成后调用send_email()函数
send_email()
在这个示例中,我们定义了一个send_email()
函数来发送邮件。在函数内部,我们构造了一封邮件,包括邮件的内容、主题和发件人、收件人等信息。然后使用smtplib
库与SMTP服务器建立连接,并通过调用sendmail()
方法发送邮件。最后,我们使用quit()
方法关闭与SMTP服务器的连接。
在表单完成后,你可以调用send_email()
函数来发送邮件。由于我们只调用了一次send_email()
函数,因此只会发送一封电子邮件。这样就可以避免多次发送同一封邮件的问题。