SMTP ゲートウェイとして Mailgun を使用していますが、この質問は特に Django とフォームに関連しています。
ユーザーは、something@mydomain.com に電子メールを送信します。件名は「別の」というテキストで始まります。電子メールは MailGun によって傍受されます。MailGun はコードへの POST を作成します。私のコードは、次の要件に従って、そのメールを受け取り、another@mydomain.com (件名の最初の単語) に転送することになっています。
- 件名から「別」を削除します。
- FROM をメールの送信者に設定します
- メール本文のすべてのテキスト (html またはプレーン) を保持します。
- 元の電子メールのすべての添付ファイルを保持します。
簡単に聞こえますが、複数の添付ファイルを送信することに問題があります。そして、私は#1と#3を理解しようとさえしませんでした. (はい、私はこれが初めてです。)
これが私がこれまでに持っているものです:
@public
@csrf_exempt
def send_email(request):
if request.method == 'POST':
mail_data = request.FILES
sender = request.POST.get('sender')
subject = request.POST.get('subject', '')
bodyhtml = request.POST.get('body-html', 'i am not found')
mail = EmailMultiAlternatives(subject, bodyhtml, sender, ["another@mydomain.com"])
for field, value in mail_data.items():
mail.attach(value.name, value.read(), value.content_type)
mail.content_subtype = "html"
mail.send()
else:
# Just for my own testing.
return HttpResponse('Not Posted')
return HttpResponse('OK')
複数のファイルを添付できるようにこれを変更するのを手伝ってもらえますか? 私はおそらく他のアイテムを理解することができます(しかし、あなたが感謝する何か提案があれば). また、誰でも電子メールを送信でき、それがセキュリティ上のリスクであることも知っています。実際にメールを送信する前に、FROM アドレスを確認する予定です。これで問題は解決するはずですが、何か提案があればよろしくお願いします。
ありがとう