Ich möchte nur den Befehl SMTP MAIL FROM und den Befehl RCPT TO verwenden, ohne E-Mails mit Pythons smtplib zu senden

Fazit


import smtplib

server = smtplib.SMTP('gmail-smtp-in.l.google.com.', 25) #Zielserver,Port-Nummer
server.ehlo()
server.mail('[email protected]') #Adresse angegeben in MAIL FROM
server.rcpt('[email protected]') #In RCPT TO angegebene Adresse

~

Sie können smtplib.SMTP.mail () und smtplib.SMTP.rcpt () wie folgt verwenden.

Einzelheiten

Es scheint, dass smtplib.SMTP.mail () und smtplib.SMTP.rcpt () verwendet werden sollten ...

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

In der smtplib-Dokumentation ↑ heißt es, dass Sie, wenn Sie die SMTP-Befehle "MAIL FROM" und "RCPT TO" verwenden möchten, die Methode "mail ()" und die Methode "rcpt ()" verwenden können. Die Details der Methoden "mail ()" und "rcpt ()", z. B. welcher Wert an das Argument übergeben werden soll, werden jedoch nicht geschrieben.

[smtplib --- SMTP-Protokollclient - Python 3.8.1-Dokumentation https://docs.python.org/ja/3/library/smtplib.html ] (https://docs.python.org/ja/3/library/smtplib.html)

Siehe die Implementierung mit inspect.getsource ()

import inspect
import smtplib

mail = inspect.getsource(smtplib.SMTP.mail)
rcpt = inspect.getsource(smtplib.SMTP.rcpt)

Rufen Sie die Quellcode-Zeichenfolgen von smtplib.SMTP.mail () und smtplib.SMTP.rcpt () wie folgt ab.

Es scheint so implementiert zu sein ↓ Es ist schon komisch, dass die Standardbibliothek PEP8 ignoriert. (x.lower () == 'smtputf8' Teil von mail (). E225: fehlendes Leerzeichen um den Operator)

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()

Es scheint also, dass Sie einfach die E-Mail-Adresszeichenfolge, die Sie angeben möchten, an jedes der Argumente von "mail ()" und "rcpt ()" übergeben können (zurück zum Anfang).

Recommended Posts

Ich möchte nur den Befehl SMTP MAIL FROM und den Befehl RCPT TO verwenden, ohne E-Mails mit Pythons smtplib zu senden
Verwenden Sie einen AWS-Interpreter mit Pycharm
Ich möchte nur den Befehl SMTP MAIL FROM und den Befehl RCPT TO verwenden, ohne E-Mails mit Pythons smtplib zu senden
Verwenden Sie die Vorschaufunktion mit aws-cli
Drücken Sie den obersten Befehl mit htop
Ich erhalte einen Python No-Modul mit dem Namen 'Encodings' mit dem Befehl aws
Ich möchte das neueste gcc verwenden, auch wenn ich keine Sudo-Berechtigungen habe! !!
Ich möchte nur die SudachiPy-Normalisierungsverarbeitung verwenden
[Python] Ich möchte die Option -h mit argparse verwenden
Ich möchte VS Code und Spyder ohne Anakonda verwenden! !! !!
Ich möchte mit Python nur das Gesicht aus einem Personenbild ausschneiden und speichern ~ Gesichtserkennung und Zuschneiden mit face_recognition ~
Ich möchte APG4b mit Python lösen (nur 4.01 und 4.04 in Kapitel 4)
Ich möchte Informationen von fstab am ssh-Verbindungsziel abrufen und den Befehl ausführen
Ich möchte ein Glas aus Python verwenden
Ich möchte nur ein Signal vom Sub-Thread zum Haupt-Thread senden
Ich habe versucht, den Winkel von Sin und Cos mit Chainer zu lernen
Ich habe versucht, die Netzwerkbandbreite und -verzögerung mit dem Befehl tc zu steuern
Ich möchte MATLAB feval mit Python verwenden
Verwenden Sie PIL in Python, um nur die gewünschten Daten aus Exif zu extrahieren
Ich möchte Temporäres Verzeichnis mit Python2 verwenden
Ich möchte Ceres Solver aus Python verwenden
Ich möchte -inf nicht mit np.log verwenden
Ich möchte ip vrf mit SONiC verwenden
Ich möchte mkl mit numpy und scipy unter pyenv + Poesie verwenden
Ich möchte die Aktivierungsfunktion Mish verwenden
[Python] Ich möchte nur den Index verwenden, wenn ich eine Liste mit einer for-Anweisung schleife
Ich möchte nur Pods mit dem angegebenen Label mit Label Selector in Client-go extrahieren
Ich möchte auch Linux-Befehle an der Eingabeaufforderung verwenden! Verwenden Sie Linux-Befehle an der Eingabeaufforderung anstelle von Git Bash
Ich möchte die Optimierung mit Python und CPlex behandeln
Ich wollte die Python-Bibliothek von MATLAB verwenden
Ich möchte mit Python-Datenklasse nach hinten erben
Verwendung des Befehls grep und häufiger Samples
Ich möchte ssh mit dem Befehl expected automatisieren!
Ich möchte R-Datensatz mit Python verwenden
Ich möchte Pythons ungelöste Importwarnung mit vsCode entfernen
Ich möchte R-Funktionen einfach mit ipython notebook verwenden
Ich möchte ssh mit dem Befehl expected automatisieren! Teil 2
Ich möchte eine Jupyter-Umgebung mit einem Befehl starten
Ich möchte mit Numpy die japanische Flagge in die Palau-Flagge ändern
Ich möchte die zulässige Ausfallzeit aus der Betriebsrate berechnen
Ich möchte eine virtuelle Umgebung mit Jupyter Notebook verwenden!
Ich möchte das Paket aus den Anforderungen.txt mit Poesie installieren
Ich habe versucht, die Mail-Sendefunktion in Python zu implementieren
Ich möchte die Natur von Python und Pip kennenlernen
Ich möchte den EDINET-Code und die Wertpapiernummer zuordnen
Ich möchte mit Python eine beliebige URL aus der Zeichenfolge der HTML-Quelle extrahieren
[Python] Was ist Pip? Erläutern Sie die Befehlsliste und deren Verwendung anhand aktueller Beispiele
Ich möchte die Ausführungszeit aufzeichnen und ein Protokoll führen.
Ich möchte den Multiprozessor-Pool von Python mit Strg + C (KeyboardInterrupt) beenden.
Wiederholen Sie mit While. Skript zum Twittern oder Suchen vom Terminal aus
Ich möchte das Wetter mit LINE bot feat.Heroku + Python wissen
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
[EC2] So installieren und laden Sie chromedriver über die Befehlszeile herunter
Ich möchte eine externe Bibliothek mit IBM Cloud-Funktionen verwenden
Ich möchte sowohl den Schlüssel als auch den Wert des Python-Iterators verwenden
Ich möchte japanische Bestandsdaten erfassen und auflisten, ohne sie zu kratzen
Ich habe versucht, E-Mails vom Sakura-Server mit Flask-Mail zu senden
Die stärkste Möglichkeit, MeCab und CaboCha mit Google Colab zu verwenden
Ich möchte mich mit der Standardsicherheitsgruppe von ALB von CDK anlegen
Vorerst möchte ich jede Datei mit ffmpeg konvertieren !!
Ich möchte wirklich GitHub Flavored Markdown (GFM) mit Pelican verwenden!
Ich habe Jinja2 beim Lesen des Dokuments verglichen, um es mit Django zu verwenden
Verwenden wir die NAOqi OS VM. Ich möchte Abhängigkeiten mit pip auch in der Pepper-Entwicklung auflösen