问题简述
针对QQ邮箱。
在运行设计的电子邮件客户端程序显示535授权码错误,尝试过非常多次更换授权码依然失败。
问题解决
1.进入QQ邮箱,设置——账户页面。
2.在此处注册一个英文邮件账号。
3.在此处开启SMTP的服务。
4.开启后点击温馨提示中的“生成授权码”。
5.将生成的授权码进行base64编码。
编码链接
将编码后的字符串填入下方代码对应位置。
static string psw = "此处填base64加密的授权码\r\n";
send(sockClient, psw.c_str(), psw.length(), 0);
buff[recv(sockClient, buff, 1500, 0)] = '\0';
6.将开始注册的新的英文邮箱进行base64编码。
将编码后的字符串填入下方代码对应位置。
static string uername = "此处填base64加密的邮箱\r\n";
send(sockClient, uername.c_str(), uername.length(), 0);
buff[recv(sockClient, buff, 1500, 0)] = '\0';
7.将所有需要填入自己邮箱地址的地方填入新创的英文邮箱。
string ehlo = "ehlo 加上自己的QQ号或QQ邮箱地址\r\n";
send(sockClient, ehlo.c_str(), ehlo.length(), 0);
buff[recv(sockClient, buff, 1500, 0)] = '\0';
message = "MAIL FROM:<此处填自己邮箱地址> \r\nRCPT TO:<";
message.append(mail);
message.append("> \r\n");