Почта Django не отправляет письмо в правильном формате? - PullRequest
0 голосов
/ 03 апреля 2019

Я хочу отправить электронное письмо из фреймворка Django пользователю.

Я разрабатываю следующий скрипт. когда я запускаю этот скрипт в локальной системе на python ide, он отправляет почту пользователю с SUBJECT и телом сообщения.

Но тот же код не работает в фреймворке django. он не отправляет объект SUBJECT, а тело сообщения отправляет только последнюю строку массажа.

import sys
import calendar
import smtplib 
import shutil
import os
import re
from datetime import datetime, timedelta
import mysql.connector
from string import Template

import smtplib

sender = 'mywebsite@organization.com'
receivers = ['employeemail@organization.com']

message = """From: From Person <from@fromdomain.com>
            To: To Person <myemail@organization.com>
            Subject: Virus arm attack on SMTP e-mail test
This is a test e-mail message.
"""

try:
    smtpObj = smtplib.SMTP('email.organization.com')
    smtpObj.sendmail(sender, receivers, message)         
    print("Successfully sent email")
except SMTPException:
    print("Error: unable to send email")

ОЖИДАЕМЫЙ РЕЗУЛЬТАТ , получаемый при отправке электронной почты из локальной системы.

Тема отображается как: SMTP-тест электронной почты
Массаж тела отображается как: Это тестовое сообщение электронной почты.
Спасибо

Фактический РЕЗУЛЬТАТ при отправке почты из фреймворка Django
* тема отсутствует и печатается только текст сообщения

Массаж тела отображается как:

Спасибо

1 Ответ

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

Почему бы вам не использовать почтовую систему Django . Он использует smtplib, но избавит вас от головной боли при работе со спецификой. Просто добавьте основные настройки в settings.py

# SMTP Host settings
EMAIL_HOST = ''
EMAIL_PORT = ''

# if your SMTP host needs authentication
EMAIL_HOST_USER = ''
EMAIL_HOST_PASSWORD = ''

# Mail is sent using the SMTP host and port specified in the EMAIL_HOST and
# EMAIL_PORT settings. The EMAIL_HOST_USER and EMAIL_HOST_PASSWORD settings, if
# set, are used to authenticate to the SMTP server, and the EMAIL_USE_TLS and
# EMAIL_USE_SSL settings control whether a secure connection is used.

и ты в порядке.

from django.core.mail import send_mail

send_mail(
    'Subject here',
    'Here is the message.',
    'from@example.com',
    ['to@example.com'],
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...