由于项目需要,要为客户提供一个定期发送邮件的程序。本来原来自己还写过,但新写的程序一晚上也没通过测试,总是提示"不允许使用邮箱名称。服务器响应为..."
经过在网上搜索查找解决办法,似乎解决办法都是一个,就是把smtp.UseDefaultCredentials = true;写到smtp.Credentials = new NetworkCredential("myusername", "mypwd");的前面。
但使用此方法,也未能解决问题。
后来,我从邮箱设置入手,发现现在大多邮箱都采用了设置smtp发邮件和客户端授权码的双重功能,以126为例,在126邮箱网页版的设置里,就能看到,如下图
后期,我将smtp.Credentials = new NetworkCredential("myusername", "mypwd")中的mypwd换成了我的客户端授权码,立即通过了测试。
希望朋友们碰到此种问题也多一种解决办法。