Je veux utiliser uniquement la commande SMTP MAIL FROM et la commande RCPT TO sans envoyer de courrier avec le smtplib de Python

Conclusion


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.

Détails

Il semble que smtplib.SMTP.mail () et smtplib.SMTP.rcpt () devraient être utilisés ...

スクリーンショット 2020-01-19 11.01.22.png

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)

Voir l'implémentation avec inspect.getsource ()

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

Je veux utiliser uniquement la commande SMTP MAIL FROM et la commande RCPT TO sans envoyer de courrier avec le smtplib de Python
Utiliser l'interpréteur AWS avec Pycharm
Je veux utiliser uniquement la commande SMTP MAIL FROM et la commande RCPT TO sans envoyer de courrier avec le smtplib de Python
Utilisez la fonction de prévisualisation avec aws-cli
Frappez la commande supérieure avec htop
J'obtiens une erreur Python No module nommée'encodings 'avec la commande aws
Je veux utiliser la dernière version de gcc même si je n'ai pas les privilèges sudo! !!
Je souhaite utiliser uniquement le traitement de normalisation SudachiPy
[Python] Je souhaite utiliser l'option -h avec argparse
Je veux utiliser VS Code et Spyder sans anaconda! !! !!
Je veux découper uniquement le visage d'une image de personne avec Python et l'enregistrer ~ Détection de visage et rognage avec face_recognition ~
Je veux résoudre APG4b avec Python (seulement 4.01 et 4.04 au chapitre 4)
Je veux obtenir des informations de fstab à la destination de la connexion ssh et exécuter la commande
Je veux utiliser jar de python
Je souhaite envoyer un signal uniquement du sous-thread au thread principal
J'ai essayé d'apprendre l'angle du péché et du cos avec le chainer
J'ai essayé de contrôler la bande passante et le délai du réseau avec la commande tc
Je veux utiliser MATLAB feval avec python
Utilisez PIL en Python pour extraire uniquement les données souhaitées d'Exif
Je souhaite utiliser le répertoire temporaire avec Python2
Je veux utiliser le solveur ceres de python
Je ne veux pas utiliser -inf avec np.log
Je souhaite utiliser ip vrf avec SONiC
Je veux utiliser mkl avec numpy et scipy sous l'environnement pyenv + poetry
Je souhaite utiliser la fonction d'activation Mish
[Python] Je souhaite utiliser uniquement l'index lors de la mise en boucle d'une liste avec une instruction for
Je souhaite extraire uniquement les pods avec l'étiquette spécifiée à l'aide du sélecteur d'étiquettes dans Client-go
Je souhaite également utiliser les commandes Linux à l'invite de commande! Utilisez les commandes Linux à l'invite de commande au lieu de Git Bash
Je veux gérer l'optimisation avec python et cplex
Je voulais utiliser la bibliothèque Python de MATLAB
Je veux hériter de l'arrière avec la classe de données python
Comment utiliser la commande grep et des exemples fréquents
Je veux automatiser ssh en utilisant la commande expect!
Je veux utiliser le jeu de données R avec python
Je souhaite supprimer l'avertissement d'importation non résolue de Python avec vsCode
Je souhaite utiliser facilement les fonctions R avec le notebook ipython
Je veux automatiser ssh en utilisant la commande expect! partie 2
Je veux démarrer un environnement Jupyter avec une seule commande
Je veux changer le drapeau japonais en drapeau des Palaos avec Numpy
Je souhaite calculer le temps d'arrêt autorisé à partir du taux de fonctionnement
Je souhaite utiliser un environnement virtuel avec jupyter notebook!
Je veux installer le package de requirements.txt avec poésie
J'ai essayé d'implémenter la fonction d'envoi de courrier en Python
Je veux connaître la nature de Python et pip
Je souhaite mapper le code EDINET et le numéro de valeur
Je souhaite extraire une URL arbitraire de la chaîne de caractères de la source html avec python
[Python] Qu'est-ce que pip? Expliquez la liste des commandes et comment l'utiliser avec des exemples réels
Je souhaite enregistrer l'heure d'exécution et conserver un journal.
Je veux mettre fin au pool multiprocesseur de python avec ctrl + c (KeyboardInterrupt)
Répétez avec While. Script pour tweeter ou rechercher depuis le terminal
Je veux connaître la météo avec LINE bot avec Heroku + Python
Je veux sortir le début du mois prochain avec Python
[EC2] Comment installer et télécharger chromedriver à partir de la ligne de commande
Je souhaite utiliser une bibliothèque externe avec IBM Cloud Functions
Je souhaite utiliser à la fois la clé et la valeur de l'itérateur Python
Je souhaite acquérir et répertorier les données boursières japonaises sans grattage
J'ai essayé d'envoyer du courrier depuis le serveur Sakura avec flask-mail
La meilleure façon d'utiliser MeCab et CaboCha avec Google Colab
Je veux jouer avec le groupe de sécurité par défaut d'ALB à partir de CDK
Pour le moment, je veux convertir n'importe quel fichier avec ffmpeg !!
Je veux vraiment utiliser GitHub Flavored Markdown (GFM) avec Pelican!
J'ai comparé Jinja2 en lisant le document pour l'utiliser avec Django
Utilisons la VM NAOqi OS. Je veux résoudre les dépendances avec pip même dans le développement Pepper