I am able to send emails using the typical C# SMTP code across Exchange 2007 as long as both the from and to addresses are within my domain.
As soon as I try to send emails outside the domain I get:
Exception Details: System.Net.Mail.SmtpFailedRecipientException: Mailbox unavailable. The server response was: 5.7.1 Unable to relay
How can I get exchange to accept my email and send it out to the internet?
Try #2... How about using a Exchange Pickup Folder instead? They are a faster way to send emails through Exchange because it just creates the email and drops it in the folder, no waiting to connect to the server or waiting for a reply. Plus I think it skips the whole relay issue.
Configure youur SmtpClient like so:
SmtpClient srv = new SmtpClient("exchsrv2007", 25) {
DeliveryMethod = SmtpDeliveryMethod.SpecifiedPickupDirectory,
PickupDirectoryLocation = "\\exchsrv2007\PickupFolder"
}
...