Python SMTP kullanarak posta gönderme
Aşağıdaki yöntemi Python SMTP kullanarak mail göndermek için kullanıyorum. Kullanmak için doğru yöntemi mi yoksa kaçırdığım ayrıntılar var mı ?
from smtplib import SMTP
import datetime
debuglevel = 0
smtp = SMTP()
smtp.set_debuglevel(debuglevel)
smtp.connect('YOUR.MAIL.SERVER', 26)
smtp.login('USERNAME@DOMAIN', 'PASSWORD')
from_addr = "John Doe <john@doe.net>"
to_addr = "foo@bar.com"
subj = "hello"
date = datetime.datetime.now().strftime( "%d/%m/%Y %H:%M" )
message_text = "Hello\nThis is a mail from your server\n\nBye\n"
msg = "From: %s\nTo: %s\nSubject: %s\nDate: %s\n\n%s"
% ( from_addr, to_addr, subj, date, message_text )
smtp.sendmail(from_addr, to_addr, msg)
smtp.quit()
CEVAP
Kullandığım script oldukça benzer; ben burada e-posta kullanmak için nasıl bir örnek olarak post*. modüller MIME mesajları oluşturmak için; bu komut kolayca resim vs eklemek için modifiye edilebilir.
Benim ISS üzerinde tarih saat başlık eklemek için güveniyorum.
Benim ISS smtp bana güvenli bir bağlantı, ben ssmtplib modülü (http://www1.cs.columbia.edu/~db2501/ssmtplib.py indirilebilir) güveniyor posta göndermek için kullanmak gerekir
Komut olarak, kullanıcı adı ve parola (aşağıda kukla değerler), SMTP sunucusu kimlik doğrulaması için kullanılan, kaynak düz metin olarak. Bu bir güvenlik zaafı; ama en iyi alternatif ne kadar dikkatli ihtiyacın üzerinde (ister misin?) bağlıdır bu koruma konusunda.
=======================================
#! /usr/local/bin/python
SMTPserver = 'smtp.att.yahoo.com'
sender = 'me@my_email_domain.net'
destination = ['recipient@her_email_domain.com']
USERNAME = "USER_NAME_FOR_INTERNET_SERVICE_PROVIDER"
PASSWORD = "PASSWORD_INTERNET_SERVICE_PROVIDER"
# typical values for text_subtype are plain, html, xml
text_subtype = 'plain'
content="""\
Test message
"""
subject="Sent from Python"
import sys
import os
import re
from smtplib import SMTP_SSL as SMTP # this invokes the secure SMTP protocol (port 465, uses SSL)
# from smtplib import SMTP # use this for standard SMTP protocol (port 25, no encryption)
from email.MIMEText import MIMEText
try:
msg = MIMEText(content, text_subtype)
msg['Subject']= subject
msg['From'] = sender # some SMTP servers will do this automatically, not all
conn = SMTP(SMTPserver)
conn.set_debuglevel(False)
conn.login(USERNAME, PASSWORD)
try:
conn.sendmail(sender, destination, msg.as_string())
finally:
conn.close()
except Exception, exc:
sys.exit( "mail failed; %s" % str(exc) ) # give a error message
Gönderme HTML e-posta kullanarak Pytho...
Android e-Posta gönderme varsayılan/ku...
E-posta GMail SMTP sunucusunu kullanar...
C ile Gmail SMTP sunucusu üzerinden e-...
E-posta SMTP kullanarak C ile gönder#...