Как я могу автоматически отправлять электронные письма через мою учетную запись hotmail.com, используя python? - PullRequest
0 голосов
/ 20 октября 2018

Итак, я пытался отправить электронное письмо программно, используя мою учетную запись @ hotmail.com.

Что мне удалось сделать до сих пор:

  1. Создать приложениездесь https://apps.dev.microsoft.com/#/appList и имеют:
    1. Идентификатор приложения
    2. Пароль в разделе «Секреты приложения
    3. Под платформой я добавил сеть и родное приложение
    4. В соответствии с разрешениями для графиков, которые я получил под делегированными разрешениями "Mail.Send" и "User.Read"
  2. Мне успешно удалось запустить this код для отправки электронного письма через браузер.
    1. Однако меня попросили войти как часть процесса аутентификации.

Вопросэто следующее:

Как я могу отправить электронное письмо через python и используя мою учетную запись @ hotmail.com без необходимости каждый раз вводить учетные данные для входа?

Идеальным решением было бы простое sendmail(to, subject, body) (или аналогичный) и файл конфигурации с определенным паролем приложения (который, я думаю, ужеady have).

Изначально я надеялся просмотреть пример кода Python по приведенной выше ссылке (повторяется здесь ) и попытаться адаптировать его, но это не будет правильным подходомПриведенный пример кода требует входа в систему через браузер.

1 Ответ

0 голосов
/ 20 октября 2018
from email import encoders
from email.message import Message
from email.mime.audio import MIMEAudio
from email.mime.base import MIMEBase
from email.mime.image import MIMEImage
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText

def SendEmail():
    s = smtplib.SMTP('smtp.gmail.com', 587) #Change smtp for Outlook
    s.starttls()
    s.login(EmailGoesHere, PASSWORDHere)

    msg = MIMEMultipart()       # create a message

    # add in the actual person name to the message template
    message = '''
        Message Goes here
    '''

    # Prints out the message body for our sake
    # print(message)

    # setup the parameters of the message
    msg['From']=MY_ADDRESS
    msg['To']='ecesisproduction@gmail.com'
    msg['Subject']="Marketplace order Accepted!"

    # add in the message body
    msg.attach(MIMEText(message, 'plain'))

    # send the message via the server set up earlier.
    s.send_message(msg)

    # Terminate the SMTP session and close the connection
    s.quit()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...