Python 为什么电子邮件没有发送给收件人?

Python 为什么电子邮件没有发送给收件人?,python,pandas,email,smtp,Python,Pandas,Email,Smtp,这是我正在运行的代码,据说它工作得很好,但实际上它并没有将电子邮件发送到我指定的地址。它与CSV没有任何关系,因为我有另一个脚本做同样的事情,并且工作得很好。问题是电子邮件被放置在发件人收件箱中。。。这很奇怪 我更愿意使用这个脚本,因为它很好地面向对象,并且有所有适当的主题字段,等等 import smtplib import pandas as pd class Gmail(object): def __init__(self, email, password, recepient

这是我正在运行的代码,据说它工作得很好,但实际上它并没有将电子邮件发送到我指定的地址。它与CSV没有任何关系,因为我有另一个脚本做同样的事情,并且工作得很好。问题是电子邮件被放置在发件人收件箱中。。。这很奇怪

我更愿意使用这个脚本,因为它很好地面向对象,并且有所有适当的主题字段,等等

import smtplib
import pandas as pd


class Gmail(object):
    def __init__(self, email, password, recepient):
        self.email = email
        self.password = password
        self.recepient = recepient
        self.server = 'smtp.gmail.com'
        self.port = 465
        session = smtplib.SMTP_SSL(self.server, self.port)        
        session.ehlo
        session.login(self.email, self.password)
        self.session = session
        print('Connected to Gmail account successfully.')

    def send_message(self, subject, body):
        headers = [
            "From: " + self.email,
            "Subject: " + subject,
            "To: " + self.recepient,
            "MIME-Version: 1.0",
           "Content-Type: text/html"]
        headers = "\r\n".join(headers)
        self.session.sendmail(
            self.email,
            self.email,
            headers + "\r\n\r\n" + body)
        print('- Message has been sent.')

df = pd.read_csv('test.csv', error_bad_lines=False)

for index, row in df.iterrows():
    print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
    comp_name = (row['name'])
    print('Email to: ' + comp_name)
    rec = (row['email'])
    print('Email to: ' + rec)
    gm = Gmail('email@gmail.com', 'password', rec)
    gm.send_message('email to ' + comp_name, '<b>This is a test<b>')
    print('-- Message for ' + rec + ' (' + comp_name + ') is completed.')

print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')
print('*********************************')
print('Finish reading through CSV.')
print('*********************************')
print('~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~')

您应该传递收件人而不是发件人

    self.session.sendmail(
    self.email,
    # self.email, <- wrong here
    self.recepient,
    headers + "\r\n\r\n" + body)
self.session.sendmail(
self.email,
#self.email,
    self.session.sendmail(
    self.email,
    # self.email, <- wrong here
    self.recepient,
    headers + "\r\n\r\n" + body)