2011-09-14 2 views
0

이메일을 보내는 데 사용되는 코드가 있습니다. 그것은 Windows에서 작동하지만 Mac에서 실행하려고하면 (Windows 컴퓨터에서와 동일한 사용자 로그인으로) 전자 메일을 보내지 않거나 오류를 반환하지 않습니다.SMTP 이메일 스크립트가 Mac에서는 작동하지 않지만 Windows에서는 작동합니다.

누구나 이런 종류의 경험이 있거나 예제, 팁, 솔루션 pls가 있습니까?

import smtplib 
import mimetypes 
from email import encoders 
from email.message import Message 
from email.mime.multipart import MIMEMultipart 
from email.mime.text import MIMEText 


import platform 

SERVER = "mail.myCompany.co.za" 
COMMASPACE = ', ' 


SUBJECT = "testing" 
TEXT = "mac dev test\n\nSent from: " + platform.platform() 
TO = [ '[email protected]' ] 
FROM = "[email protected]" 


# connect to the server 
smtp = smtplib.SMTP(SERVER) 

smtp.ehlo() 


# if attachments are too big, try gain and just add them as links 
# Create the container (outer) email message. 
msg = MIMEMultipart() 
msg['Subject'] = SUBJECT 
msg['From'] = FROM 
msg['To'] = COMMASPACE.join(TO)  
msg.attach(MIMEText(TEXT , 'plain')) 

smtp.sendmail(FROM , TO , msg.as_string()) 


smtp.close()    
print(" ---- SUCCESS ---- mail sent ---- ") 
+0

sendmail 호출은 무엇을 반환합니까? 사전이거나 예외를 throw합니다. – Mark

+0

ehlo() 호출이 필요하다고 생각하지 않으므로 제거하십시오. 또한 무슨 일이 일어나는지 smtp.set_debuglevel (1)을 설정해보십시오. –

+0

콘솔에서'telnet mail.myCompany.co.za 25'를하면 어떻게됩니까? – RickyA

답변

0

sendmail 호출은 아무것도 반환하지 않았습니다. 그리고 마침내 왜 시도했는지 알지 못합니다.

smtp.starttls() 
smtp.login('username', 'password') 

이 문제를 해결 한 것 같습니다.

로그인하지 않고도 Windows 컴퓨터에서 완벽하게 작동하므로 Mac에서 스크립트를 작동 시키려면이 작업을 수행해야합니다. Grrrrr mac.

제안 해 주셔서 감사합니다. :)

관련 문제