2016-08-30 3 views
0

python 코드에서 이메일을 보내려고합니다. 이 코드는 로컬 서버에서 테스트 할 때 잘 작동합니다. 그러나 이러한 변경 사항을 Google Compute Engine VM에 배포하면 이메일 전송이 중지되고 연결 오류가 발생하기 시작합니다.이메일 보내기 문제 - Google Compute Engine VM

오류 추적 :

File "/usr/local/lib/python2.7/dist-packages/django/core/mail/message.py", line 342, in send 
    return self.get_connection(fail_silently).send_messages([self]) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 100, in send_messages 
    new_conn_created = self.open() 
    File "/usr/local/lib/python2.7/dist-packages/django/core/mail/backends/smtp.py", line 58, in open 
    self.connection = connection_class(self.host, self.port, **connection_params) 
    File "/usr/lib/python2.7/smtplib.py", line 256, in __init__ 
    (code, msg) = self.connect(host, port) 
    File "/usr/lib/python2.7/smtplib.py", line 316, in connect 
    self.sock = self._get_socket(host, port, self.timeout) 
    File "/usr/lib/python2.7/smtplib.py", line 291, in _get_socket 
    return socket.create_connection((host, port), timeout) 
    File "/usr/lib/python2.7/socket.py", line 571, in create_connection 
    raise err 
error: [Errno 110] Connection timed out 

코드 : settings.py 파일에서

from django.core.mail import EmailMessage 

msg = EmailMessage("Test Sub", "Msg", "[email protected]", ["[email protected]"]) 
msg.content_subtype = "html" 
msg.send() 

이메일 설정 :

EMAIL_USE_TLS = True 
EMAIL_HOST = 'smtp.zoho.com' 
EMAIL_PORT = 587 
EMAIL_HOST_USER = '[email protected]' 
EMAIL_HOST_PASSWORD = 'abcxxxabc' 
DEFAULT_FROM_EMAIL = '[email protected]' 
DEFAULT_TO_EMAIL = '[email protected]' 

누군가가이 문제의 원인이 될 수있는 것을 제안시겠습니까 ? 어떻게이 문제를 해결할 수 있습니까? 당신은 구글의 클라우드에서 직접 메일을 보낼 수 없습니다

답변

1

덕분에, 포트 587이 차단됩니다. 당신은 다른 해결책을 찾아야 할 것입니다. Mailgun을 살펴보십시오.

관련 문제