Уведомления

Группа в Telegram: @pythonsu

#1 Июль 18, 2019 10:32:33

Fedor_Bober
От: Екатеринбург
Зарегистрирован: 2019-06-07
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка с помощью SMTPLIB

Вопрос. на почту приходит файл Untitled.bin

А не исходный. Я так понимаю дело в кодировке?
Ниже кусок кода.

 #отправка на email
            fromaddr = "____________@gmail.com"
            toaddr = "______@mail.ru"
            mypass = "*_*_*_*_"
            filename = os.path.split(j)[0]+"/"+"Общий файл.pdf"
            with open(filename, "rb") as attachment:
                part = MIMEBase("application", "octet-stream")
                part.set_payload(attachment.read())
            encoders.encode_base64(part)
            part.add_header(
                "Content-Disposition",
                f"attachment; filename= {filename}",)
            msg = MIMEMultipart()
            msg['From'] = fromaddr
            msg['To'] = toaddr
            msg['Subject'] = "Subject"
            msg.attach(part)
 
            body = "Это пробное сообщение\n Test.Text.\n Let's get away from here!"
            msg.attach(MIMEText(body, 'plain'))
 
            server = smtplib.SMTP_SSL('smtp.gmail.com', 465)
            server.login(fromaddr, mypass)
            text = msg.as_string()
            server.sendmail(fromaddr, toaddr, text)
            server.quit()
                
            #отправка на email

Отредактировано Fedor_Bober (Июль 18, 2019 10:42:27)

Офлайн

#2 Июль 18, 2019 11:50:36

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9726
Репутация: +  843  -
Профиль   Отправить e-mail  

Отправка с помощью SMTPLIB

Fedor_Bober
Как приложить к письму аттач файл (вложение)?
Есть среди примеров отправка вложений
https://docs.python.org/3/library/email.examples.html

Вот здесь метод для добавления атача
https://docs.python.org/3/library/email.message.html#email.message.EmailMessage.add_attachment



Отредактировано py.user.next (Июль 18, 2019 11:58:08)

Офлайн

#3 Июль 19, 2019 13:30:25

EugeneK
Зарегистрирован: 2018-12-28
Сообщения: 24
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка с помощью SMTPLIB

Вот мой пример. Работает и без функции. Если вам атач не нужен, то можете его удалить. Может конечно что-то криво написано. НО как я понял так и написал

 def send_email(send_attach):
    msg = MIMEMultipart()
    msg.attach(MIMEText(email_body, 'plain', 'utf-8'))
    msg['Subject'] = Header(email_subject, 'utf-8')
    msg['From'] = send_address
    msg['To'] = ', '.join(recipients_emails)
    # attache added
    location = path_for_log + send_attach
    part = MIMEBase('application', "octet-stream")
    part.set_payload(open(location, "rb").read())
    encoders.encode_base64(part)
    part.add_header('Content-Disposition', 'attachment; filename={}'.format(send_attach))
    msg.attach(part)
    #
    s = smtplib.SMTP(smtp_host, 587, timeout=10)
    s.set_debuglevel(0)
    s.starttls()
    s.login(login, password)
    #
    s.sendmail(msg['From'], recipients_emails, msg.as_string())
    s.quit()

Отредактировано EugeneK (Июль 19, 2019 13:30:55)

Офлайн

#4 Июль 19, 2019 14:42:19

Fedor_Bober
От: Екатеринбург
Зарегистрирован: 2019-06-07
Сообщения: 40
Репутация: +  0  -
Профиль   Отправить e-mail  

Отправка с помощью SMTPLIB

EugeneK
Вот мой пример. Работает и без функции. Если вам атач не нужен, то можете его удалить. Может конечно что-то криво написано. НО как я понял так и написал
Спасибо за ответ. Но ничего не понял)))

Читаю мануалы.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version