GoogleからSMTPを使用してメールを送信しようとしています。私はすでに "settings.py"ファイルに設定変数を入れる電子メールを送ってきますが、これらの変数をビューで設定し、私の "Config"モデルを使ってそれらを設定する必要があります。Django:表示でメール設定を設定する
これは私のモデルコードです:
def send_custom_mail(request):
config = Config.objects.get(pk = 1)
EMAIL_HOST = config.smtp_server
EMAIL_PORT = config.smtp_port
EMAIL_HOST_USER = config.email_sender
EMAIL_HOST_PASSWORD = config.email_password
EMAIL_USE_TLS = True
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
subject = 'test'
msg = '<p>Test: <strong>Mensaje</strong>></p>'
mail_from = config.email_sender
mail_to = ['{}'.format(email)]
from django.core.mail import EmailMessage
email2send = EmailMessage(subject, msg, mail_from, to=mail_to)
email2send.content_subtype = "html" # Main content is now text/html
email2send.send()
私の問題:私はビューで変数を設定するときに電子メールが送信されない
class Config(models.Model):
email_sender = models.CharField(max_length = 100, default = '', blank = True)
email_password = models.CharField(max_length = 30, default = '', blank = True)
smtp_server = models.CharField(max_length = 100, default = '', blank = True)
smtp_port = models.PositiveIntegerField(default = 587, blank = True)
これが私の見解コードです。
私はこれらの変数をdinamically設定する必要がありますので、設定ファイルに書き込めません。
うーん、コードの設定方法が分かりません。ビュー内からDjango設定変数(例えば '' EMAIL_HOST'')を設定しようとしていますか?もしそうなら、Djangoの設定を変更するのではなく、ローカルスコープ内の変数を設定するだけなので、あなたが得たものは動作しません。ビュー内から設定値を変更する方法について質問がありますか? –
@RodManningええ、それは私がしたいことです。ビュー内からこれらの変数を設定して動的にする必要があります。 – Nazkter