猿问

我在发送邮件时遇到问题:TypeError: __init__() got

我想在 Synology NAS 上制作一个 python 脚本。备份完成后,脚本将发送一封邮件。我不知道为什么在 pycharm 中在 Windows 上工作的脚本不能在 Synology 上工作......它的上下文 = 上下文问题。它的 Synology NAS 安装了 python 和 python 模块。Python查看所有文件路径但他无法发送邮件


    message = MIMEMultipart("alternative")

    message["Subject"] = "Backup zrobiony dnia: " + str(datetime.now())

    message["From"] = sender_email

    message["To"] = receiver_email


    # Create the plain-text and HTML version of your message

    text = """\

            Hi,

            How are you?"""


    def modification_date(filename):

        t = os.path.getmtime(filename)

        return datetime.fromtimestamp(t)


    html = """\

    <html>

    <head>

    <style>table,td,th{border:2px solid black;}</style>

    </head>

      <body>

        <h1 style="text-align: center">Witam tu serwer Synology z firmy IdeaLogic</h1>

           <p style="text-align: center; color: #FF7B24; font-weight:bold">Backup został wykonany</p>

           <table style="text-align:center"> 

           <tr><th>Nr</th><th>Nazwa folderu</th><th>Data backupu</th><th>Czzas od ostatniego backupu</th></tr>

           <tr><td>1</td><td>VM_DEV_JIRA_NS</td><td>"""  +str(modification_date('/volume1/esxi_backup/VM_DEV_JIRA_NS'))+"""</td>"""+"""<td>"""+(str(datetime.now() - modification_date(file)))+ """</td></tr>


慕的地6264312
浏览 186回答 2
2回答

慕尼黑8549860

从contextpython 3.3 开始,该参数是新的:https&nbsp;:&nbsp;//docs.python.org/3/library/smtplib.html#smtplib.SMTP_SSL如果您运行的是错误版本的 python,则会出现此错误。

汪汪一只猫

你在打电话server&nbsp;=&nbsp;smtplib.SMTP_SSL("smtp.gmail.com",&nbsp;465,&nbsp;context=context)根据文档,该函数有另一个签名:class&nbsp;smtplib.SMTP_SSL([host[,&nbsp;port[,&nbsp;local_hostname[,&nbsp;keyfile[,&nbsp;certfile[,&nbsp;timeout]]]]]])您的最后一个参数 (&nbsp;context=context) 看起来像一个带有默认值的参数定义。你不能调用这样的函数。只需省略上下文并调用:server&nbsp;=&nbsp;smtplib.SMTP_SSL("smtp.gmail.com",&nbsp;465)这是官方文档的链接:https&nbsp;:&nbsp;//docs.python.org/2/library/smtplib.html#smtplib.SMTP_SSL
随时随地看视频慕课网APP

相关分类

Python
我要回答