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

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

url='mailto:[email protected]' подставляет http://.


Ответы (1 шт):

Автор решения: Syirezz

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

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

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

import webbrowser
from telegram import InlineKeyboardButton

def email_callback(update, context):
    query = update.callback_query
    email = "[email protected]"
    url = f'mailto:{email}'
    webbrowser.open(url)
    query.answer("Email client opened.")

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

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

→ Ссылка