首页 > 解决方案 > 使用 IMAP 从 Gmail 中提取电子邮件正文时出现奇怪的文本

问题描述


我正在使用 QT 和 Qsslsocket 使用 IMAP 从 Gmail 获取一些电子邮件正文,我开始使用 IMAP 命令登录,检查我有多少电子邮件,并从我选择的电子邮件中获取数据 我在连接到 IMAP 后确定使用此命令使用主机名和端口。

tag login username password

登录后使用标签选择收件箱检查邮件数量我使用此命令提取电子邮件的正文。

tag fetch message_number (body[1])

问题是我有这样很奇怪的词

    * 5 FETCH (BODY[1] {1856}
SGkgRmVsaXggYW5kIEZpbmdlcnMgRHVlbGluZyBQaWFub3MsCgpWaWN0b3JpYSBBLiBoYXMg
dXBkYXRlZCB0aGVpciBldmVudC4KClRoZSBwZXJmb3JtYW5jZSBsZW5ndGggaGFzIGJlZW4g
Y2hhbmdlZCB0byAzIGhvdXJzLgoKVGhlIHBlcmZvcm1hbmNlIHN0YXJ0IHRpbWUgaGFzIGJl
ZW4gY2hhbmdlZCB0byA1OjAwcG0uCgoKCgpVc2UgdGhlIGxpbmsgYmVsb3cgdG8gdmlldyB0
aGlzIGxlYWQ6Cmh0dHA6Ly90cmFja2luZy5naWdzYWxhZC5jb20vdHJhY2tpbmcvY2xpY2s/
ZD1RS1FFeEQxZGtIQTZrYWE3YzFXSzcxZ2VDVXBNX0F5UFRkcUpjeUVZcWZwN3RuMklNRXIx
WlRCOVcxYzlfR3VaUEFyaFhJQkIxbWl4S29jSDZXb1dVUTdlUkRsNl8zMTlPSXpLS0NGZmUz
X2FnQmRlN2lPd2hWaFczOXB2V25SMTY0R1JjaWdoYlZVSVpwT2k1NmxnOVhlV2JLcnhEVS05
WGJTWlBnZzhFRU9SMAoKUGVhY2UsIGxvdmUgJiBnaWdzLApUaGUgR2lnU2FsYWQgVGVhbQoK
CkZvbGxvdyBVcyEKRmFjZWJvb2sgaHR0cDovL3RyYWNraW5nLmdpZ3NhbGFkLmNvbS90cmFj
a2luZy9jbGljaz9kPXhkeEJya3I0eFZ0VE95bnhLbzFnUG1FR05HZU1TSlA5ODFSSVpUeEFJ
QlgzVmZuX3BBbk94Y2JMdUdURXpIR1RLWGVEMk9qUjFEc1NPeGRkX1Y4MjFWZXVYY1BEVXZv
TWNleWMwZHVPUXQtMXVDRjNxcHpVNGxDQmViT2VZbUpINVEyClR3aXR0ZXIgaHR0cDovL3Ry
YWNraW5nLmdpZ3NhbGFkLmNvbS90cmFja2luZy9jbGljaz9kPVY3LWpwbEZHVk5QcGExaVdU
VGF2aG5XZWJRLXRDQXZRakN6T2NBRXdCNDZ2R0FtbkplOFBfdHhycXdQUnhBallZbk9DRElt
ZktFeVAxQlNVR1J4MXhWelE4c3gxM2x1eWtoN3pKNXBXa1VKSEtPYThCYlRuUHF6Ykd1VGF0
THVTa3cyCkluc3RhZ3JhbSBodHRwOi8vdHJhY2tpbmcuZ2lnc2FsYWQuY29tL3RyYWNraW5n
L2NsaWNrP2Q9eEMzVEhBbjgyRTZuZ2piQXN6ZHRRVWZQcktNTVAwbDBpbzl0UDgxOW5SazBC
WDdvZmdZLU1OVk1jR2owTXdWQTNhZmV5aUh1T2VBSUE0V0tTM1NLZnU4Wk1nMENJRmszdnR3
X0F4Q1M2aWdiMDdCazBsU0p4QWNQYlJpc19uaFpNdzIKCgpTdG9wIGFsbCBHaWdTYWxhZCBl
bWFpbHMgKG5vdCByZWNvbW1lbmRlZCk6Cmh0dHA6Ly90cmFja2luZy5naWdzYWxhZC5jb20v
dHJhY2tpbmcvdW5zdWJzY3JpYmU/bXNnaWQ9UzQzLVFsVDVBbHhiaUl0SmhxU0NuZzIKCsKp
IFRoZSBHaWcgQnVyZWF1LCBMTEMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFBlYWNlLCBsb3Zl
ICYgZ2lnc8KuIGlzIGEgcmVnaXN0ZXJlZCB0cmFkZW1hcmsgb2YgVGhlIEdpZyBCdXJlYXUs
IExMQy4KMjczMyBFLiBCYXR0bGVmaWVsZCBSZCAjMTA1IFNwcmluZ2ZpZWxkLCBNTyA2NTgw
NA==
)

但是电子邮件包含正常的消息有正常的单词奇怪的是当我用另一个 gmail 测试时,我从第一封电子邮件中获取这封电子邮件并将其转发消息发送到我的第二封电子邮件,它给了我其中的正常文本!所以请任何帮助我不明白是什么问题,我也尝试过使用openssl,它给我的结果与QT奇怪的单词相同,还有javaMail库并从第一封电子邮件中提取文本它有效吗?那么是我使用的 imap 命令的问题还是什么?
提前致谢。这是电子邮件消息的屏幕截图 更新在此处输入图像描述 当我开始一些搜索时,我检查了这条消息是否编码为 base64,当我使用在线解码器时,它会转换为普通文本,但现在的问题是我应该使用什么命令,以便我可以自动获取普通文本中的这条消息正文,如果有这么远。

标签: qtemailopensslgmail-imap

解决方案


推荐阅读