【问题标题】:How can I send email using Gmail's SMTP without using smtplib?如何在不使用 smtplib 的情况下使用 Gmail 的 SMTP 发送电子邮件?
【发布时间】:2014-01-31 00:59:05
【问题描述】:

这是我的代码:

import socket
import base64
s=socket.socket()    
s.connect(('smtp.gmx.com',25))    
message=s.recv(1024)    
print message    
s.send("EHLO gmx\r\n")    
message=s.recv(1024)    
print message    
Username=raw_input("Inesrt Username: ")    
Password=raw_input("Insert Password: ")    
UP=("\x00"+Username+"\x00"+Password).encode("base64")    
UP=UP.strip("\n")    
print "AUTH PLAIN "+UP    
s.send("AUTH PLAIN "+UP+"\r\n")    
message=s.recv(10000000)    
print message   
s.send("MAIL FROM:"+Username+"\r\n")    
message=s.recv(10000)    
print message    
To=raw_input("TO:")   
s.send("RCPT TO:"+To+"\r\n")   
message=s.recv(10000)  
print message    
s.send("DATA\r\n")    
message=s.recv(100000)    
print message    
Subject=raw_input("Subject: ")    
Text=raw_input("Message:")    
s.send("Subject: "+Subject+"\r\n\r\n"+Text+"\r\n.\r\n")
message=s.recv(10000)    
print message
s.send("QUIT\r\n")
message=s.recv(100000)   
print message   
s.close()

它适用于普通电子邮件,但不适用于 Gmail 或 Yahoo。如何使用类似代码使用 Gmail 的 SMTP 发送电子邮件?

【问题讨论】:

  • Gmail 需要SMTPS,所以据我所知,您不能使用普通 SMTP。
  • 当然,如果您的问题是“如何使用 Gmail 的 SMTP 发送电子邮件?”。很难准确理解您的问题。
  • 是的,我的意思是这个问题

标签: python sockets email


【解决方案1】:

Gmail SMTP 服务器不支持普通 SMTP 协议。你必须use TLS/SSL and connect to port 465。请参阅此question 以获取更多指示如何执行此操作。

【讨论】:

    猜你喜欢
    • 2016-07-14
    • 1970-01-01
    • 2016-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-24
    • 1970-01-01
    • 2021-06-17
    相关资源
    最近更新 更多