В Python2.7, как извлечь правильную гиперссылку URL из электронной почты оповещения Google Outlook
Я подписываюсь на некоторые оповещения Google. Я использую внешний вид. После того, как я получил письмо, я прочитал письмо, используя python с кодом ниже
import imaplib
mail = imaplib.IMAP4_SSL(host='outlook.office365.com', port=userport)
mail.login('username', 'password')
mail.list()
mail.select("inbox", readonly = True) # connect to inbox.
result, data = mail.uid('search', None, "ALL")
latest_email_uid = data[0].split()[-1]
result, data = mail.uid('fetch', latest_email_uid, '(RFC822)')
raw_email = data[0][1]
затем в raw_email вы можете увидеть гиперссылку в электронном письме, например ниже "url": " https://www.google.com/url?rct=3Dj%5Cu0026sa=3Dt%5Cu0026url=3Dhtt=\ r \ np: //blackburnnews.com/windsor/windsor-news/2018/04/24/unifor-accuses-caesar=\r\ns-windsor-trying-starve-workers/\u0026ct=3Dga\u0026cd=3DCAEYACoTODA4NDAxMDk=\r\n2MTY0NDQ3MDMyNDIZMTA5MTIxNmU1MzFiYmFkNDpjYTplbjpDQQ \ u0026usg = 3DAFQjCNHb-GK9=\ г \nkMMqv3DVmZLBi-ADzpRj4w"
даже после того, как я использую
raw_email = data[0][1].encode('utf-8')
это то же самое. Для разрыва строки, как \ r \ n, я всегда могу заменить.
Но для таких вещей, как = 3D, я не уверен, как их удалить, чтобы получить реальную гиперссылку в письме, как показано ниже
Кстати, позже, после того как я получил сырую электронную почту, я также использовал библиотеку электронной почты.
email_message = email.message_from_string(raw_email)
ссылка в сообщении электронной почты остается прежней. Я приложил скриншот электронной почты оповещения Google Outlook.