如何使用Exchange 2007和c#在我的域外发送电子邮件

jmc*_*mcd 5 c# smtp exchange-server-2007

只要from和to地址都在我的域中,我就可以使用Exchange 2007中的典型C#SMTP代码发送电子邮件.

一旦我尝试在域外发送电子邮件,我就会得到:

异常详细信息:System.Net.Mail.SmtpFailedRecipientException:邮箱不可用.服务器响应为:5.7.1无法中继

我怎样才能让交换机接受我的电子邮件并将其发送到互联网?

Dav*_*cia 8

尝试#2 ...如何使用Exchange代答文件夹呢?它们是通过Exchange发送电子邮件的更快捷方式,因为它只是创建电子邮件并将其放入文件夹中,无需等待连接到服务器或等待回复.另外我认为它会跳过整个接力问题.

像这样配置你的SmtpClient:

SmtpClient srv = new SmtpClient("exchsrv2007", 25) {
    DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory,
    PickupDirectoryLocation = "\\exchsrv2007\PickupFolder"
}
...
Run Code Online (Sandbox Code Playgroud)


Zor*_*che 6

向Exchange服务器进行身份验证.

http://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.credentials.aspx


DefaultNetworkCredentials返回用户名等的空字符串并导致此异常...

这是一个示例,这是另一个使用System.Net.Mail发送经过身份验证的消息.