相关疑难解决方法(0)

通过Exchange Online使用System.Net.Mail发送SMTP电子邮件(Office 365)

我们正在测试新的Office 365测试版,并且我在Exchange Online服务上有一个邮件帐户.现在我正在尝试连接可以从我的测试帐户发送smtp电子邮件的LOB应用程序.

但是,Exchange 365平台需要在端口587上进行TLS加密,并且其"功能" System.Net.Mail不允许隐式SSL加密.

有没有人设法让C#通过这个平台发送邮件?

我有以下基本代码应该发送邮件 - 任何建议将不胜感激.

SmtpClient server = new SmtpClient("ServerAddress");
server.Port = 587;
server.EnableSsl = true;
server.Credentials = new System.Net.NetworkCredential("username@mydomain.com", "password");
server.Timeout = 5000;
server.UseDefaultCredentials = false;

MailMessage mail = new MailMessage();
mail.From = new MailAddress("recipent@anyaddress");
mail.To.Add("username@mydomain.com");
mail.Subject = "test out message sending";
mail.Body = "this is my message body";
mail.IsBodyHtml = true;

server.Send(mail);
Run Code Online (Sandbox Code Playgroud)

c# exchange-server sendmail system.net.mail office365

44
推荐指数
7
解决办法
12万
查看次数

发送SMTP电子邮件测试.net中的Microsoft Office 365

我在Exchange Online服务上有一个邮件帐户.现在我正在尝试测试我是否能够通过c#应用程序向客户(在varoius域和Microsoft Office 365上)发送邮件

我尝试实现以下代码,但我收到错误

"根据验证程序,远程证书无效."

MailMessage mail = null;                
mail = new MailMessage();

string[] strToList = "abc@gmail.com"              
foreach (string strID in strToList)
{
    if (strID != null)
    {
        mail.To.Add(new MailAddress(strID));
    }
}

mail.From = "demo@onmicrosoft.com";
mail.Subject = "testing"
mail.IsBodyHtml = true;
mail.Body = "mail body";

SmtpClient client = new SmtpClient("smtp.outlook.office365.com");
client.Port = 587;
client.EnableSsl = true;
client.UseDefaultCredentials = false;
NetworkCredential cred = new System.Net.NetworkCredential("demo@onmicrosoft.com", "mypassword");
client.Credentials = cred;
client.Send(mail);
Run Code Online (Sandbox Code Playgroud)

如果我做错了,请建议.非常感谢提前.

c# exchange-server system.net.mail office365

15
推荐指数
4
解决办法
6万
查看次数