smtp.gmail.com
に直接接続して、スクリプトからGmailメールアカウントに直接メールを送信したいと思います。認証なしで直接SMTPサーバーにメールを送信する方法は?
しかし、私はスクリプトにGmailのパスワードを持っていない方がいいです。私が読んだところでは、Gmailは自分のユーザーを含むメールを配信する前に認証が必要なようです。
私の質問は、そのSMTPサーバーにはGmailの資格情報がないため、今まで配信された別のSMTPサーバーからメールが届くのですか? Gmailは「anonymous」の送信者のみの認証を必要としますが、私のスクリプトはパーソナルコンピュータ上で実行されているため、セキュリティが強化されていますか?ここで私はPythonスクリプト実行していますされています
import smtplib
import email
msg = email.message.Message()
msg["From"] = "[email protected]"
msg["To"] = "[email protected]"
msg["Subject"] = "Test message"
server = smtplib.SMTP("smtp.gmail.com",587)
server.starttls()
server.ehlo_or_helo_if_needed()
try:
failed = server.sendmail("[email protected]","[email protected]", msg.as_string())
server.close()
except Exception as e:
print(e)
を、私はこのスクリプトを実行すると、出力は次のようになります。
(530, b'5.5.1 Authentication Required. Learn more at
5.5.1 http://support.google.com/mail/bin/answer.py?answer=14257 fw5sm21125889wib.0', '[email protected]')
私の質問があり、外部のSMTPサーバがこの問題を回避する方法は?そして、ローカルスクリプトで複製可能なものは何ですか、あるいは正しい逆DNSレコードやSPFレコードなどが必要ですか?
スニペット? @MaK –
25はSMTPポートで、メールサーバーとの通信に使用されます。 https://en.m.wikipedia.org/wiki/Simple_Mail_Transfer_Protocol – MaK
はい@Makですが、静的ですか?または動的ですか?彼らの任意のポートは利用可能ですか? –