以下是一个使用Python的示例代码,它将数据库的副本保存到本地,然后将其发送到一个共享邮箱。
import smtplib
import os
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.base import MIMEBase
from email import encoders
def save_database_copy():
# 保存数据库副本到本地
# 假设数据库文件名为database.db
database_filename = 'database.db'
database_copy_filename = 'database_copy.db'
# 复制数据库文件
os.system(f'cp {database_filename} {database_copy_filename}')
return database_copy_filename
def send_email_with_attachment(filename):
# 设置发件人、收件人和邮箱服务器信息
from_email = 'sender@example.com'
to_email = 'recipient@example.com'
smtp_server = 'smtp.example.com'
smtp_port = 587
username = 'your_username'
password = 'your_password'
# 创建邮件对象
msg = MIMEMultipart()
msg['From'] = from_email
msg['To'] = to_email
msg['Subject'] = 'Database Copy'
# 添加邮件正文
body = 'Please find attached the database copy.'
msg.attach(MIMEText(body, 'plain'))
# 添加附件
attachment = open(filename, 'rb')
part = MIMEBase('application', 'octet-stream')
part.set_payload((attachment).read())
encoders.encode_base64(part)
part.add_header('Content-Disposition', "attachment; filename= %s" % filename)
msg.attach(part)
# 发送邮件
server = smtplib.SMTP(smtp_server, smtp_port)
server.starttls()
server.login(username, password)
server.send_message(msg)
server.quit()
# 保存数据库副本到本地
database_copy_filename = save_database_copy()
# 发送带有附件的电子邮件
send_email_with_attachment(database_copy_filename)
请注意,此代码中的一些值需要进行适当的配置,如发件人邮箱、收件人邮箱、SMTP服务器、SMTP端口、用户名和密码等。还需确保您的计算机上已安装所需的库(如smtplib、email等)。
此代码将数据库的副本保存到本地,并将其作为附件发送到指定的共享邮箱。