求用公司邮箱smtp发送邮件失败。急~~~

时间:2023-01-12 18:09:47
之前做的测试时用的是163的,成功没有问题。
代码如下:

        objMailMessage.From = new MailAddress("Tacc123@163.com","Tacc123");
        objMailMessage.To.Add(_emailaddr);
        objMailMessage.Subject = "俱乐部:会员激活";//发送邮件的标题
        objMailMessage.Body = strbody;//发送邮件的内容
        objMailMessage.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码 
       objMailMessage.IsBodyHtml = true;//是否是HTML邮件 
        SmtpClient client = new SmtpClient();

        client.Host = "smtp.163.com";
        //设置用于 SMTP 事务的端口,默认的是 25
        //client.Port = 25;
        client.UseDefaultCredentials = false;
        client.Credentials = new System.Net.NetworkCredential("Tacc123", "password");
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        client.Send(objMailMessage);




但是当我换到公司邮箱发送时,就出现错误"不允许使用邮箱名称。 服务器响应为: host denies relay (ce mta)",代码如下:

        objMailMessage.From = new MailAddress("info@zhvipclub.com", "vipclub");
        objMailMessage.To.Add(_emailaddr);
        objMailMessage.Subject = "俱乐部:会员激活";//发送邮件的标题
        objMailMessage.Body = strbody;//发送邮件的内容
        objMailMessage.BodyEncoding = System.Text.Encoding.UTF8;//邮件内容编码 
       objMailMessage.IsBodyHtml = true;//是否是HTML邮件 
        SmtpClient client = new SmtpClient();

        client.Host = "smtp.zhvipclub.com";
        //client.Port = 25;
        client.UseDefaultCredentials = false;
        client.Credentials = new System.Net.NetworkCredential("info", "password");
        client.DeliveryMethod = SmtpDeliveryMethod.Network;
        client.Send(objMailMessage);



请高手指点一下,是否是因为邮箱的问题?????

12 个解决方案

#1


你们公司的邮箱服务器是否支持客户端连接发送?确认这个就行了

#2


引用 1 楼 fangyuantdy 的回复:
你们公司的邮箱服务器是否支持客户端连接发送?确认这个就行了

这个不太清楚,可以解释一下什么是客户端连接发送吗?

#3


引用 1 楼 fangyuantdy 的回复:
你们公司的邮箱服务器是否支持客户端连接发送?确认这个就行了

我在邮箱管理里看了一下。是否是这个

服务权限: 允许WEB方式登录  允许POP收信  允许WebMail域外发信  允许smtp域外发信  

#4


是不是分不够呀。再加分吧。。
真的很急呀。高手们帮个忙~~~

#5


引用 2 楼 tracy_fu 的回复:
引用 1 楼 fangyuantdy 的回复:
你们公司的邮箱服务器是否支持客户端连接发送?确认这个就行了

这个不太清楚,可以解释一下什么是客户端连接发送吗?



多数是不支持,我们的企业邮箱也是不支持。

#6


client.Host = "smtp.zhvipclub.com";

smtp地址是否正确?

#7


最简单的测试办法就是outlook能发信不?

#8


呵呵 你看发送不成功 接收的返回值是什么 比如服务器拒绝了一个或多个收件人 或505错误 什么的 根据这个来看 一般的时候测试成功 服务器大批量的发送不成功是因为白名单的原因 你们被限制发送了

#9


引用 5 楼 szjarvis 的回复:
引用 2 楼 tracy_fu 的回复:
引用 1 楼 fangyuantdy 的回复:
你们公司的邮箱服务器是否支持客户端连接发送?确认这个就行了

这个不太清楚,可以解释一下什么是客户端连接发送吗?



多数是不支持,我们的企业邮箱也是不支持。


那是不是没有办法解决了?我们刚申请了一个邮箱就为了发这个的.......郁闷了...

#10


引用 7 楼 yan267 的回复:
最简单的测试办法就是outlook能发信不?

用outlook是可以的

#11


引用 6 楼 sy_binbin 的回复:
client.Host = "smtp.zhvipclub.com";

smtp地址是否正确?


嗯.正确的

#12


引用 10 楼 Tracy_fu 的回复:
引用 7 楼 yan267 的回复:最简单的测试办法就是outlook能发信不?
用outlook是可以的

如果第三方客户端软件可以发的话,那就是
client.Credentials = new System.Net.NetworkCredential("info", "password");
这里的info应该是用户名吧,这里换成你的发件人邮箱info@zhvipclub.com  因为有些邮箱支持只写info登录,有些必须得写info@zhvipclub.com

#1


你们公司的邮箱服务器是否支持客户端连接发送?确认这个就行了

#2


引用 1 楼 fangyuantdy 的回复:
你们公司的邮箱服务器是否支持客户端连接发送?确认这个就行了

这个不太清楚,可以解释一下什么是客户端连接发送吗?

#3


引用 1 楼 fangyuantdy 的回复:
你们公司的邮箱服务器是否支持客户端连接发送?确认这个就行了

我在邮箱管理里看了一下。是否是这个

服务权限: 允许WEB方式登录  允许POP收信  允许WebMail域外发信  允许smtp域外发信  

#4


是不是分不够呀。再加分吧。。
真的很急呀。高手们帮个忙~~~

#5


引用 2 楼 tracy_fu 的回复:
引用 1 楼 fangyuantdy 的回复:
你们公司的邮箱服务器是否支持客户端连接发送?确认这个就行了

这个不太清楚,可以解释一下什么是客户端连接发送吗?



多数是不支持,我们的企业邮箱也是不支持。

#6


client.Host = "smtp.zhvipclub.com";

smtp地址是否正确?

#7


最简单的测试办法就是outlook能发信不?

#8


呵呵 你看发送不成功 接收的返回值是什么 比如服务器拒绝了一个或多个收件人 或505错误 什么的 根据这个来看 一般的时候测试成功 服务器大批量的发送不成功是因为白名单的原因 你们被限制发送了

#9


引用 5 楼 szjarvis 的回复:
引用 2 楼 tracy_fu 的回复:
引用 1 楼 fangyuantdy 的回复:
你们公司的邮箱服务器是否支持客户端连接发送?确认这个就行了

这个不太清楚,可以解释一下什么是客户端连接发送吗?



多数是不支持,我们的企业邮箱也是不支持。


那是不是没有办法解决了?我们刚申请了一个邮箱就为了发这个的.......郁闷了...

#10


引用 7 楼 yan267 的回复:
最简单的测试办法就是outlook能发信不?

用outlook是可以的

#11


引用 6 楼 sy_binbin 的回复:
client.Host = "smtp.zhvipclub.com";

smtp地址是否正确?


嗯.正确的

#12


引用 10 楼 Tracy_fu 的回复:
引用 7 楼 yan267 的回复:最简单的测试办法就是outlook能发信不?
用outlook是可以的

如果第三方客户端软件可以发的话,那就是
client.Credentials = new System.Net.NetworkCredential("info", "password");
这里的info应该是用户名吧,这里换成你的发件人邮箱info@zhvipclub.com  因为有些邮箱支持只写info登录,有些必须得写info@zhvipclub.com