Простая отправка электронной почты работает только от Тонны - PullRequest
0 голосов
/ 27 апреля 2019

Я запустил небольшой проект Raspberry и застрял с отправкой простого электронного письма.Gmail SMTP настроен.Код отлично работает от Thonny (хотя он отправляет E-Mal только для первого получателя, а не для обоих), но когда я запускаю его из терминала (python report.py), я получаю следующую ошибку:

Traceback (most recent call last):
  File "report.py", line 15, in <module>
    with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
TypeError: __init__() got an unexpected keyword argument 'context'

Как я уже говорил выше, от Тонни это работает.Я планирую запустить какой-то скрипт, как это время, запланированное через Crontab.Я установил файл Crontab, но он ничего не делает, я полагаю, потому что он каждый раз выдает ошибку.

Заранее спасибо за помощь!

Содержание report.py:

import smtplib, ssl

port = 465  # For SSL
smtp_server = "smtp.gmail.com"
sender_email = "****@gmail.com"
receiver_email = "****@gmail.com,xxxx@gmail.com"
password = "****"
message = """\
Subject: Hi there

This message is sent from Python."""

context = ssl.create_default_context()
with smtplib.SMTP_SSL(smtp_server, port, context=context) as server:
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, message)

1 Ответ

0 голосов
/ 27 апреля 2019

Аргумент context для smtplib.SMTP_SSL был добавлен в Python 3.3.

Thonny использует встроенный интерпретатор Python3.7, но во многих Unix-подобных операционных системах по умолчанию интерпретатор Python - это Python 2.x. Явно вызовите скрипт с Python 3, чтобы предотвратить ошибку:

python3 report.py
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...