Отправка email через InlineKeyboardButton

Рейтинг: 0Ответов: 1Опубликовано: 14.01.2023

Есть бот, который выдаёт контакты человека из бд через InlineKeyboardButton. Как сделать, чтобы при нажатии на кнопку с email, открывалась почтовая программа для отправки письма?

url='mailto:some@mail.com' подставляет http://.

Ответы

▲ 0

Вы можете использовать модуль webbrowser python, чтобы открыть ссылку mailto.

Это откроет почтовый клиент по умолчанию на устройстве пользователя с указанным адресом электронной почты в поле «Кому», что позволит им составить и отправить электронное письмо.

Вы можете использовать этот код внутри функции обратного вызова вашего InlineKeyboardButton в боте Telegram.

import webbrowser
from telegram import InlineKeyboardButton

def email_callback(update, context):
    query = update.callback_query
    email = "some@mail.com"
    url = f'mailto:{email}'
    webbrowser.open(url)
    query.answer("Email client opened.")

keyboard = [[InlineKeyboardButton("Email", callback_data='email', callback=email_callback)]]

Это откроет почтовую программу с адресом электронной почты в качестве получателя при нажатии кнопки.