import smtplib
server = smtplib.SMTP('gmail-smtp-in.l.google.com.', 25) #Serveur de destination,numéro de port
server.ehlo()
server.mail('[email protected]') #Adresse spécifiée dans MAIL FROM
server.rcpt('[email protected]') #Adresse spécifiée dans RCPT TO
~
Vous pouvez utiliser «smtplib.SMTP.mail ()» et «smtplib.SMTP.rcpt ()» comme ceci.
La documentation smtplib ↑ indique que si vous voulez utiliser les commandes SMTP MAIL FROM et RCPT TO, vous pouvez utiliser la méthodemail ()et la méthodercpt ().
Cependant, les détails des méthodes mail () et rcpt () tels que la valeur à passer à l'argument ne sont pas écrits.
[smtplib --- Client de protocole SMTP - Documentation Python 3.8.1 https://docs.python.org/ja/3/library/smtplib.html ] (https://docs.python.org/ja/3/library/smtplib.html)
import inspect
import smtplib
mail = inspect.getsource(smtplib.SMTP.mail)
rcpt = inspect.getsource(smtplib.SMTP.rcpt)
Obtenez les chaînes de code source de smtplib.SMTP.mail () et smtplib.SMTP.rcpt () comme ceci.
Il semble être implémenté comme ça ↓ C'est assez drôle que la bibliothèque standard ignore PEP8. (x.lower () == partie 'smtputf8' de mail (). E225: espace blanc manquant autour de l'opérateur)
python:smtplib.SMTP.mail()
def mail(self, sender, options=()):
"""SMTP 'mail' command -- begins mail xfer session.
This method may raise the following exceptions:
SMTPNotSupportedError The options parameter includes 'SMTPUTF8'
but the SMTPUTF8 extension is not supported by
the server.
"""
optionlist = ''
if options and self.does_esmtp:
if any(x.lower()=='smtputf8' for x in options):
if self.has_extn('smtputf8'):
self.command_encoding = 'utf-8'
else:
raise SMTPNotSupportedError(
'SMTPUTF8 not supported by server')
optionlist = ' ' + ' '.join(options)
self.putcmd("mail", "FROM:%s%s" % (quoteaddr(sender), optionlist))
return self.getreply()
python:smtplib.SMTP.rcpt()
def rcpt(self, recip, options=()):
"""SMTP 'rcpt' command -- indicates 1 recipient for this mail."""
optionlist = ''
if options and self.does_esmtp:
optionlist = ' ' + ' '.join(options)
self.putcmd("rcpt", "TO:%s%s" % (quoteaddr(recip), optionlist))
return self.getreply()
Donc, il semble que vous puissiez simplement passer la chaîne d'adresse e-mail que vous souhaitez spécifier à chacun des arguments de mail () et rcpt () (retour au début).
Recommended Posts