Я просто пытаюсь прочитать Excel, сохранить его в переменных, а затем создать строку с этими переменными. Наконец, я пытаюсь отправить эту строку по почте самому себе (я удалил данные доступа в коде, который копирую ниже), но когда я выполняю код, он выдает мне ошибку 'TypeError: ожидаемая строка или байтовоподобный объект ' при отправке почты. Я не знаю, что может происходить. Кто-нибудь может что-то придумать? Это код:
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
import smtplib
import pandas as pd
import ast
columnas = ['Hotel', 'Nombre', 'Apellido 1', 'Apellido 2', 'Contraseña',
'Departamento', 'Cuenta', 'Cargo', 'Tipo']
df = pd.read_excel('prueba.xlsx')
nombre = df[columnas[1]]
apellido1 = df[columnas[2]]
apellido2 = df[columnas[3]]
contraseña = df[columnas[4]]
mail = df[columnas[6]]
for i in [1]:
print(nombre[i] + " " + apellido1[i] + " " + apellido2[i])
message = "Hola ", nombre[i], " ", apellido1[i], " ", apellido2[
i], " . Su cuenta de Office 365 se ha creado con éxito. Sus datos para
acceder son los siguientes: Usuario: ",
mail[i], " Contraseña: ", contraseña[i], " Saludos."
print(message)
server = smtplib.SMTP('ipservidordecorreo', 25)
server.login("test@gmail.com", "contraseña")
server.sendmail(
"test@gmail.com",
"test@gmail.com",
message)
server.quit()
Очень легкий: не estÃ: s пробуя посылать string , а tupla string .
message = "Hola ", nombre[i], " ", apellido1[i], " ", apellido2[i], " . Su cuenta de Office 365 se ha creado con éxito. Sus datos para acceder son los siguientes: Usuario: ", mail[i], " Contraseña: ", contraseña[i], " Saludos."
С этим instrucci¦n estÃ: s создавая tupla, не цепь.
Ты Можешь:
Или производить цепь прямо (используя правильный оператор, которого +
):
message = "Hola " + nombre[i] + " " + ...
Или использовать funci¦n join
, чтобы производить цепь начиная с tupla:
message = ''.join( "Hola ", nombre[i], " ", apellido1[i], " ", ... )
ñ
. – Trauma 27.11.2019, 18:16