Помогите с телеграм ботом на telebot
Все библиотеки у меня установлены, с переменными всё в порядке(вроде), консоль ошибок не выдаёт, почта настроена. Но письма не отправляет. тестил отдельно регистрацию всё было замечательно, но как соединил с общим кодом всё пошло по...
@bot.callback_query_handler(func=lambda call: True)
def callback(call):
global sub
#некий код с личными данными :)
if call.data == 'reg':
def start_registration():
@bot.message_handler(func=lambda message: True)
def handle_message(message):
chat_id = message.chat.id
bot.send_message(chat_id, "Введите свои ФИО:")
bot.register_next_step_handler(message, process_name_step)
def process_name_step(message):
chat_id = message.chat.id
global name
name = message.text
bot.send_message(chat_id, "Введите свою почту:")
bot.register_next_step_handler(message, process_uemail_step)
def process_uemail_step(message):
chat_id = message.chat.id
global uemail
uemail = message.text
bot.send_message(chat_id, "Введите свой номер телефона:")
bot.register_next_step_handler(message, process_phone_step)
def process_phone_step(message):
chat_id = message.chat.id
global phone
phone = message.text
bot.send_message(chat_id, "Если у вас есть примечание, напишите.")
bot.register_next_step_handler(message, process_note_step)
def process_note_step(message):
chat_id = message.chat.id
global note
note = message.text
reg_markup = types.InlineKeyboardMarkup(row_width=1)
yes_butt = types.InlineKeyboardButton('Отправить заявку', callback_data='yes')
reg_markup.add(yes_butt)
response = f"Заявка в {sub}.\nПожалуйста, проверьте свои данные\n\nФИО: {name}\nПочта: {uemail}\nНомер телефона: {phone}\nПримечание: {note}"
bot.send_message(chat_id, response, reply_markup=reg_markup)
start_registration()
if call.data == 'yes':
def send_email_callback(call):
email = "******@yandex.ru"
password = "******"
recipient = "*******gmail.com"
msg = MIMEMultipart()
msg['From'] = email
msg['To'] = recipient
msg['Subject'] = f"Новая заявка в {sub}"
# add body to email
body = f"Новая заявка в {sub}: \n\nФИО: {name}\nПочта: {uemail}\nНомер телефона: {phone}\nПримечание: {note}"
msg.attach(MIMEText(body))
# send the email
mailserver = smtplib.SMTP_SSL('smtp.yandex.ru', 465)
mailserver.set_debuglevel(True)
mailserver.login(email, password)
mailserver.sendmail(email, recipient, msg.as_string())
mailserver.quit()
print("Письмо успешно отправлено")
bot.send_message(call.message.chat.id, "Ваша заявка отправлена, мы с вами свяжемся в ближайшее время")
Плиз спасите... уже 12 пытаюсь эту дичь сделать. Это мой первый серьёзный проект. Заранее спасибо)))
Источник: Stack Overflow на русском