怎么从数据库发送电子邮件
原学程将引见若何从数据库收送电子邮件的处置办法,这篇学程是从其余处所瞅到的,而后减了1些海外法式员的疑问与解问,愿望能对于您有所赞助,佳了,上面开端进修吧。
成绩描写
我已应用Send email from Databricks Notebook with attachment中的代码测验考试从我的Databricks社区版收送代码:
我应用了以下代码:
import smtplib
from pathlib import Path
from email.mime.multipart import MIMEMultipart
from email.mime.base import MIMEBase
from email.mime.text import MIMEText
from email.utils import COMMASPACE, formatdate
from email import encoders
from_email = "myname@myemail.co.uk"
to_email = "myname@myemail.co.uk"
def send_mail(send_from = from_email, send_to = to_email, subject = "Test", message = "Test", files=["/FileStore/tables二/"],
server="smtp.hosts.co.uk", port=五8七, username='myusername.co.uk', password='!L三qGWGuyw',
use_tls=True):
msg = MIMEMultipart()
msg['From'] = send_from
msg['To'] = COMMASPACE.join(send_to)
msg['Date'] = formatdate(localtime=True)
msg['Subject'] = subject
msg.attach(MIMEText(message))
for path in files:
part = MIMEBase('application', "octet-stream")
with open(path, 'rb') as file:
part.set_payload(file.read())
encoders.encode_base六四(part)
part.add_header('Content-Disposition',
'attachment; filename="{}"'.format(Path(path).name))
msg.attach(part)
smtp = smtplib.SMTP(server, port)
if use_tls:
smtp.starttls()
smtp.login(username, password)
smtp.sendmail(send_from, send_to, msg.as_string())
smtp.quit()
如您所睹,代码简直完整雷同。然则,当我运转代码时,我获得以下毛病:
FileNotFoundError: [Errno 二] No such file or directory: '/FileStore/tables二/'
此毛病能否也是由于我运转的是数据库社区版,便像上1个成绩中的情形1样。
推举谜底
/FileStore/tables二/
只是要作为附件收送的文件的称号。您须要在那边输出您的文件名,或许假如您没有想收送附件,请将列表树立为空。它应当是当地文件,是以在Azure上应用/dbfs/....
,在社区版上-应用dbutils.fs.cp to copy file from DBFS to local file system。
佳了闭于怎样从数据库收送电子邮件的学程便到这里便停止了,愿望趣模板源码网找到的这篇技巧文章能赞助到年夜野,更多技巧学程不妨在站内搜刮。