@manhng

Welcome to my blog!

Send Mail in C# .NET

July 7, 2021 21:37

Send Mail in C# .NET (edit)

How to Send Email With Attachment In Asp.Net | Surya R Praveen (wordpress.com)

c# — Cách gửi email với tệp đính kèm trong Asp.Net (it-swarm-vi.com)

c# — How to send email in ASP.NET C # (it-swarm-vi.com)

Viet Vang - [C#] Email Library [System.Net.Mail] and [System.Web.Mail]

Khi gửi email thông qua SMTP server. Tùy theo mỗi server sẽ có 2 kiểu bảo mật SSL:

– Explicit SSL: sử dụng port: 25 và 587

– Implicit SSL: sử dụng port: 465

Trong C# có 2 thư viện hỗ trợ cho việc gửi email là [System.Net.Mail] và [System.Web.Mail].

[System.Net.Mail] là thư viện mới hơn, hiện đại hơn được Microsoft khuyên sử dụng. Nhưng vấn đề ở thư viện này vẫn chưa hỗ trợ gửi email Implicit SSL. Nên nếu SMTP của email sử dụng Implicit SSL sẽ không thể gửi được email.

Outlook của Microsoft vẫn đang sử dụng [System.Web.Mail] nhưng được gọi với tên khác hơn là CDOSYS. Nên có thể gửi được email với cả 2 kiểu bảo mật.

Hiện tại hệ thống đang sử dụng [System.Web.Mail] cũ hơn để gửi email Implicit SSL. Khi nào| [System.Net.Mail] được Microsoft hỗ trợ Implicit SSL sẽ quay lại sử dụng thư viện mới hơn này.

Vui lòng thông báo!

Show me the code

<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<add key="SMTPServer" value="smtp.mydomain.com"/>
<add key="SMTPPort" value="465"/>
<add key="SMTPUser" value="info@mydomain.com"/>
<add key="SMTPPassword" value="123456"/>
</appSettings>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
</startup>
</configuration>



using System;
using System.Diagnostics;
using System.Web.Mail;

namespace ConsoleApp1
{
internal class Program
{
[Obsolete]
private static void Main(string[] args)
{
try
{
String SMTPServer = System.Configuration.ConfigurationManager.AppSettings["SMTPServer"];
String SMTPPort = System.Configuration.ConfigurationManager.AppSettings["SMTPPort"];
String Email = System.Configuration.ConfigurationManager.AppSettings["SMTPUser"];
String Password = System.Configuration.ConfigurationManager.AppSettings["SMTPPassword"];

String StringTo = "sample@gmail.com";
String StringBody = "Kiểm tra kết nối email " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
String StringSubject = "Kiểm tra kết nối email " + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

if (SMTPPort == "25")
{
try
{
MailMessage msg = new MailMessage();
msg.To = StringTo;
msg.From = Email;
msg.Subject = StringSubject;
msg.Body = StringBody;
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", Email); //set your username here
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", Password); //set your password here
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", SMTPPort);
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.BodyFormat = MailFormat.Html;
SmtpMail.SmtpServer = SMTPServer;
SmtpMail.Send(msg);
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
}
else
{
try
{
MailMessage msg = new MailMessage();
msg.To = StringTo;
msg.From = Email;
msg.Subject = StringSubject;
msg.Body = StringBody;
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserver", SMTPServer);
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpserverport", SMTPPort);
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusing", "2");
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate", "1"); //basic authentication
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendusername", Email); //set your username here
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/sendpassword", Password); //set your password here
msg.Fields.Add("http://schemas.microsoft.com/cdo/configuration/smtpusessl", "true");
msg.BodyEncoding = System.Text.Encoding.UTF8;
msg.BodyFormat = MailFormat.Html;
msg.Priority = MailPriority.High;
msg.Attachments.Add(new MailAttachment(@"C:\Test.cs"));
SmtpMail.SmtpServer = SMTPServer;
SmtpMail.Send(msg);
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
}
}
}

How to send email from C#

April 25, 2018 22:28

How to send email from C#

http://csharp.net-informations.com/communications/csharp-smtp-mail.htm

https://stackoverflow.com/questions/9201239/send-e-mail-via-smtp-using-c-sharp

 

using System.Net.Mail;

...

MailMessage mail = new MailMessage("you@yourcompany.com", "user@hotmail.com");
SmtpClient client = new SmtpClient();
client.Port = 25;
client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Host = "smtp.gmail.com";
mail.Subject = "this is a test email.";
mail.Body = "this is my test email body";
client.Send(mail);

Categories

Recent posts