如何分析Email模块接收、发送邮件失败的Log

本文详细介绍了如何通过抓取日志文件来解析Email服务与客户端之间的交互流程,包括连接SMTP/POP3服务器、验证用户名和密码、下载邮件及发送邮件等关键步骤。对于每一步骤可能出现的问题,提供了具体的日志搜索方法和故障排查技巧。
首先,抓取Email相关的Log时,应该将catcher的default filter设为 (MMI)Email,这样才能提取出Email相关的数据.

10A之后的版本参考下面的方法:
Email service与Email PS交互的MSG均以 MSG_ID_EMAIL_PS_开头,根据这些消息,我们了解手机端与server交互的流程。
在分析Email的log的时候,可以直接在log里面搜索MOD_EMAIL, Message type选择为primitive,然后Find all,这样和email相关的log都可以搜索到。
1. 可以在log中查看连接smtp/pop3 server是否成功,需要查看MSG_ID_EMAIL_PS_CONN_REQ和MSG_ID_EMAIL_PS_CONN_RSP这两条消息,并且看MSG_ID_EMAIL_PS_CONN_RSP这个消息的返回的result的ret,如果是1,连接就成功了。如果是0,就要看errcode和error_string,并且在Email_ps_public.h里面的email_ps_error_code这个enum里面找到相应的errcode,可以知道初步的连接失败的原因;而error_string是server端发过来的error string,告知client为什么会连接失败。
2. 可以在log中查看验证用户名和密码是否成功,需要查看MSG_ID_EMAIL_PS_AUTH_REQ和MSG_ID_EMAIL_PS_AUTH_RSP
两条消息,MSG_ID_EMAIL_PS_AUTH_RSP这个消息返回的result的ret,如果是1,用户名和密码就验证成功了。如果是0,在Email_ps_public.h里面的email_ps_error_code这个enum里面找到相应的errcode和error_string,可以知道初步的验证失败的原因;error_string是server端发过来的error string,告知client为什么会认证失败。
3. 在下载邮件的过程中可能会发生下载失败的情况,可以通过log里面的MSG_ID_EMAIL_PS_MSG_FETCH_REQ
和MSG_ID_EMAIL_PS_MSG_FETCH_RSP这两条消息来定位失败的原因。和上面一样,也可以看errcode和error_string来知道下载失败的原因。
4. 在发送邮件的过程中也可能会发生发送失败的情况,可以通过log里面的MSG_ID_EMAIL_PS_MSG_SEND_REQ和MSG_ID_EMAIL_PS_MSG_SEND_RSP这两条消息来定位发送失败的原因。和上面一样,也可以看errcode和error_string来知道下载失败的原因。
09B之前的版本参考下面的方法:


在接收和发送邮件时抓取的log,邮件的信息主要是从网络传递过来的,所以需要关注的两条消息是MSG_ID_MMI_EMAIL_TCPIP_TCM_DATA_REQ和MSG_ID_MMI_EMAIL_TCPIP_TCM_DATA_IND;后面一条消息里面的peer buff存放的是从server端返回的邮件的源码。前面一条消息存放的是手机给server发送的command。可以通过检查邮件的源码来检查邮件出现的异常情况。

在进入inbox的时候抓取的log,可以通过MSG_ID_MMI_EMAIL_FOLDER_SELECT_REQ和MSG_ID_MMI_EMAIL_FOLDER_SELECT_RSP这两条消息来确定inbox里面邮件的信息,比如inbox’里面的邮件的数目,邮件主题的charset,sender address等等信息。通常如果邮件主题显示乱码的话可以通过主题的charset来确定代码中是否定义了这种字符集。这条消息携带的重要的参数可以参考mmi_email_ps_folder_select_rsp()这个接口函数。

在view邮件时抓取的log,可以通过MSG_ID_MMI_EMAIL_FOLDER_MSG_SELECT_REQ和MSG_ID_MMI_EMAIL_FOLDER_MSG_SELECT_RSP这两条消息来确定该封邮件的信息。里面重要的参数可以参考mmi_email_ps_folder_msg_select_req(),
mmi_email_ps_folder_msg_select_rsp()这两个接口函数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值