做发邮件的功能,用qq邮箱可以,用公司的邮箱会报错:
根据验证过程,远程证书无效
然后加了以下代码:
ServicePointManager.ServerCertificateValidationCallback =
delegate(Object obj, X509Certificate certificate, X509Chain chain, SslPolicyErrors errors) { return true; };
有报了这个错误:
客户端不具有将邮件提交给此服务器的权限。 服务器响应为: 5.7.3 Client was not authenticated.
你申请了smtp权限没有?一般公司用程序发邮件, 要申请的。
应该有吧,这个配置的时候就要填的啊
@Tryson: 有没有你自己应该清楚。如果你没有申请的话,一般公司不会给你的。
我们公司要自己申请的,还和你用的机子IP关联的.
@Albert Fei: 这样啊。是不是我能用邮箱发邮件就算有权限?
@Tryson: 不是的,一般公司员工都可以用outlook发邮件。但不能通过程序发。
你可以试试用其它smpt服务器发邮件看看。例如163, 126 网上找找吧,来测试看看你的程序有没有问题。
发邮件程序就那么几句,很简单,一般程序不会有什么问题。出问题的话是公司的权限可能性大。
@Albert Fei: 你好。我的公司邮箱,在foxmail和outlook里配过后都能收发邮件,能不能说明我有smtp权限.希望您说清楚点,我搞不明白,如果没有权限,我该如何获得。多谢了!!
@Tryson: 不能说明你有SMTP权限.
你可以问下你们公司的管网络安全的,看看。是否要申请公司的SMTP.
//smpt client message.
SmtpClient smtp = new SmtpClient();
smtp.Host = "你的smtp host";
smtp.EnableSsl = false;
smtp.UseDefaultCredentials = false;
smtp.Credentials = new System.Net.NetworkCredential("你的发信地址“, "对应密码");
smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
//send mail.
smtp.Send(mailMessage);
你看看你这些地方怎么写的
@Albert Fei: 恩。非常感谢
@Tryson: 你更新了刚才的回答,加了一些代码
@Albert Fei:嗯 是试试看,我只前得Host好像写的是公司邮箱服务器的
会不会是权限问题
什么权限?
我觉得应该是邮箱服务器那边的问题
@Tryson: 就是你们的邮箱服务器给你开管理员层次的账号了吗??
@jerry-Tom: 不知道啊
网上有这么说的 我的解决方法你可以实验一下,将服务器上的根证书安装到客户端上,受信任的根证书颁发机构,然后再程序里的适当位置
是不是少了安装证书到客户端 受信任的跟证书颁发给机构 这一步??
1、客服端发送的正确的证书
2、客服端方面启用ssl。并且设置SMTP服务器对应的ssl端口号
3、客服端身份凭证是对的。。
不过感觉还是SMTP服务器host和port设置有问题
我觉得1楼的比较靠谱。我用QQ邮箱发,都要设置一下,开通smtp功能才能发。
这个绝对没问题 设置的跟在foxmail里是一样 foxmail可以
这个确实是需要权限的。
怎么解决的?豆也不人家
配置的参数未用
怎么解决的?