用python生成一个二维码,可以扫码签合同,并将签完的合同分别发给两个人的代码
时间: 2023-06-16 15:05:35 浏览: 85
可以使用 qrcode 库来生成二维码,使用 smtplib 库来发送邮件。以下是生成二维码并发送邮件的示例代码:
```python
import qrcode
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
# 生成二维码
data = 'http://example.com/contract'
img = qrcode.make(data)
# 保存二维码图片
img.save('contract_qrcode.png')
# 发送邮件
from_email = 'sender@example.com'
from_password = 'password'
to_emails = ['recipient1@example.com', 'recipient2@example.com']
msg = MIMEMultipart()
msg['Subject'] = '请扫码签署合同'
msg['From'] = from_email
msg['To'] = ', '.join(to_emails)
# 添加邮件正文
text = MIMEText('请扫描以下二维码签署合同:')
msg.attach(text)
# 添加邮件附件(即二维码图片)
with open('contract_qrcode.png', 'rb') as f:
img_data = f.read()
img = MIMEImage(img_data)
img.add_header('Content-Disposition', 'attachment', filename='contract_qrcode.png')
msg.attach(img)
# 发送邮件
smtp_server = 'smtp.example.com'
smtp_port = 587
s = smtplib.SMTP(smtp_server, smtp_port)
s.starttls()
s.login(from_email, from_password)
s.sendmail(from_email, to_emails, msg.as_string())
s.quit()
```
注意,需要将上述代码中的邮件服务器地址、端口、发件人邮箱地址和密码等信息替换为实际情况。