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