Возникли проблемы при написании пользовательских отправителей электронной почты - PullRequest
0 голосов
/ 23 октября 2019

Это мой первый независимый скрипт, поэтому я был бы признателен за помощь с кодом. Я создаю индивидуального отправителя электронной почты, чтобы я мог отправлять электронные письма рекрутерам с учетом компании и должности. В настоящее время я сталкиваюсь с 3 проблемами.

  1. Я не смог выяснить, как построить простой цикл, который перебирает строку, ячейка за ячейкой, а затем переходит к следующей строке сследующее письмо. Я использую панд (т. Е. Ячейка A1: имя рекрутера, ячейка B1: название компании, ячейка C1: электронная почта рекрутера, ячейка D1: должность ... Отправка электронной почты ... перемещение в ячейку A2 для следующей электронной почты).

  2. При отправке в масштабе мне было интересно, есть ли ограничения для Gmail, о которых я должен знать. Или достаточно простого time.sleep ()?

  3. Я получил это сообщение об ошибке, как только я включил в свой код строки f. smtplib.SMTPRecipientsRefused: (553, b"5.1.2 The recipient address <'address'> is not a\n5.1.2 valid RFC-5321 address. u43sm11948572qte.19 - gsmtp")

В другом посте упоминается, что имя пользователя электронной почты может быть написано неправильно, однако это не так. Если я удаляю строки f, это разрешает, однако мне нужны строки для итерации по моим спискам.

import os
import smtplib
from email.message import EmailMessage
import pandas as pd
import time # Would appreciate a time.sleep() incorporated in the loop (Issue2)

e_list = pd.read_csv('Positions List.csv')

class EmailList(object):
      def __init__(self, names, companies, emails, jobs):
          self.names = names
          self.companies = companies
          self.emails = emails
          self.jobs = jobs

# Column headers (A-D)
names = e_list.Name 
companies = e_list.Company
emails = e_list.Email
jobs = e_list.Position


# Stuck here with the loop (Issue1)


usr = os.environ.get('EMAIL_USER')
pwd = os.environ.get('EMAIL_PASS')

# f strings need to be modified once loop is incorporated

msg = EmailMessage()
msg['Subject'] = f"{companies} - {names}"
msg['From'] = usr
msg['To'] = f"{emails}"
msg.set_content(f"Hello{names},\n\nI hope this email finds you well. I discovered the {jobs} position posted on your company\'s website, and wanted to connect with you to potentially discuss the position...")

files = ['Resume.pdf']

for file in files:
    with open(file, 'rb') as f:
        file_data = f.read()
        file_name = f.name

    msg.add_attachment(file_data, maintype='application', subtype='octet-stream', filename = file_name)

with smtplib.SMTP_SSL('smtp.gmail.com', 465) as smtp:
    smtp.login(usr, pwd)

    smtp.send_message(msg)

Будем благодарны за любые предложения по моим 3 вопросам.

...