2016-05-14 8 views
5

का उपयोग अजगर द्वारा समर्थित नहीं मैं अपने app से ईमेल भेजना चाहते हैं, लेकिन यह त्रुटिएसएमटीपी प्राधि विस्तार सर्वर

SMTP AUTH extension not supported by server 

कार्यक्रम के लिए कोड, से पता चलता

import smtplib 
from email.MIMEMultipart import MIMEMultipart 
from email.MIMEText import MIMEText 
fromaddr = "[email protected]" 
toaddr = "[email protected]" 
msg = MIMEMultipart() 
msg['From'] = fromaddr 
msg['To'] = toaddr 
msg['Subject'] = "Test Mail" 
body = "Test mail from python" 
msg.attach(MIMEText(body, 'plain')) 
server = smtplib.SMTP('smtp.example.com', 25) 
server.ehlo() 
server.starttls() 
server.ehlo() 
server.login(fromaddr, "password") 
text = msg.as_string() 
server.sendmail(fromaddr, toaddr, text) 
server.quit() 

टेलनेट आउटपुट:

ehlo test1.example.com 
250-hidden 
250-HELP 
250-SIZE 104857600 
250-ENHANCEDSTATUSCODES 
250-8BITMIME 
250-STARTTLS 
250 OK 

मुझे ऐप से मेल प्रमाणित करने और भेजने की आवश्यकता है।

उत्तर

8

लॉगिन और sendemail से पहले एक कनेक्शन की आवश्यकता है।

server = smtplib.SMTP('smtp.example.com', 25) 
server.connect("smtp.example.com",465) 
server.ehlo() 
server.starttls() 
server.ehlo() 
server.login(fromaddr, "password") 
text = msg.as_string() 
server.sendmail(fromaddr, toaddr, text) 
server.quit() 
+0

कनेक्शन 'सर्वर.कनेक्ट' स्थापित करने के बाद यह ठीक काम करता है। धन्यवाद! – KKD

+0

यह समझाना अच्छा होगा कि 465 यहां क्या है! –

+1

पोर्ट 465 एसएमटीपीएस के लिए है। यदि आप कोई पोर्ट नहीं दे रहे हैं, तो यह 25 पर डिफ़ॉल्ट हो जाता है। SMTPS का उपयोग करते समय किसी भी SMTP स्तर संचार से पहले SSL एन्क्रिप्शन स्वचालित रूप से प्रारंभ हो जाता है। – Kris

संबंधित मुद्दे