私はプライベートSMTPサーバーに電子メールを送信しようとしていますし、 sendgrid - 受信者のSMTPサーバーを指定する方法は?
s = smtplib.SMTP(server, port)
s.sendmail(me, you, msg.as_string())
が
Sendgrid(アズールブロックSMTPなど)に同じに変換しようとすると、次のようにpythonの
smtplib
を使用して行うことができますが、それはへのオプションがありませんプライベートSMTPサーバーを指定します。
import sendgrid
import os
from sendgrid.helpers.mail import *
sg = sendgrid.SendGridAPIClient(apikey=os.environ.get('SENDGRID_API_KEY'))
from_email = Email("[email protected]")
to_email = Email("[email protected]")
subject = "Sending with SendGrid is Fun"
content = Content("text/plain", "and easy to do anywhere, even with Python")
mail = Mail(from_email, subject, to_email, content)
response = sg.client.mail.send.post(request_body=mail.get())
print(response.status_code)
print(response.body)
print(response.headers)
ご協力いただければ幸いです。 SMTPサーバーができる場合を除き
、sendgridは、SMTPプロトコルを使用しますが、実際には、古典的なHTTPSリクエストを使用するAPIを要求しないためのpythonパッケージ非常に正常だおかげ
答えをありがとう。基本的な問題は、SMTP送信がMicrosoft Azureでブロックされていることです(またAWSも疑わしい)、sendgridなどのリレーサービスを使用することをお勧めします。しかし、smtpを使用するためにsendgridを変更する必要がある場合は、どちらかの方法でAzureブロック問題に遭遇すると思います。 – dopplesoldner
リレーとして機能するSMTPサーバーの近くにAPIエンドポイントを作成する必要があります。あなたは、HTTPSでazureから出て、APIエンドポイントを指します。この質問を閉じることができます。あなたの質問に答えられる方法はありません;) –