您的位置:首页 > 大数据 > 人工智能

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

2012-11-28 09:34 369 查看
首先,抓取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()这两个接口函数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: