繁体   English   中英

C# 使用 SMTP 发送电子邮件

[英]C# Send email using SMTP

例外:

邮件发送失败。

内部异常:

无法连接到远程服务器。

MailMessage mail = new MailMessage();
mail.Subject = "Your Subject";
mail.From = new MailAddress("abc@gmail.com");
mail.To.Add("xyz@yahoo.co.in");
mail.Body = "Hello! your mail content goes here...";
mail.IsBodyHtml = true;

SmtpClient smtp = new SmtpClient("smtp.gmail.com", 587);
smtp.EnableSsl = true;
NetworkCredential netCre = new NetworkCredential("abc@gmail.com", "xxx");
smtp.Credentials = netCre;

try
{
     smtp.Send(mail);
 }
 catch (Exception ex)
 {
 }

我 ping smtp.gmail.com它工作正常。

MailMessage mm = new MailMessage();
SmtpClient smtp = new SmtpClient(); 

mm.From = new MailAddress("From", "DisplayName", System.Text.Encoding.UTF8);
mm.To.Add(new MailAddress("To"));
mm.Subject = "Subject";
mm.Body = "Body";

mm.IsBodyHtml = true;
smtp.Host = "smtp.gmail.com";
if (ccAdd != "")
{
    mm.CC.Add(ccAdd);
}
smtp.EnableSsl = true;
System.Net.NetworkCredential NetworkCred = new System.Net.NetworkCredential();
NetworkCred.UserName = "xyz@gmail.com";//gmail user name
NetworkCred.Password = "Password";// password
smtp.UseDefaultCredentials = true;
smtp.Credentials = NetworkCred;
smtp.Port = 587; //Gmail port for e-mail 465 or 587
smtp.Send(mm);

会很好的

给 windows 7 / visual studio 2019 开发人员的提示:下面的代码不适用于 .NET 4.8.03761 但适用于 .NET 4.6.1 < 08.11.2022>
它适用于 windows 10/visual studio 2022 和 .NET 4.8.04084 -> 我将文件从 windows 10 重新导入到 windows 7,然后选择重新导入环境 .NET 4.6.1!

private void btnSendEmail_Click(object sender, EventArgs e)
{
    MailMessage Mail = new MailMessage();
    
    Mail.From = new MailAddress("anyone.name@gmx.de");
    Mail.To.Add("anyone_else.name@gmx.de");
    Mail.Subject = "This is a test email from a C# program.";
    Mail.Body = "win7_ABCDEFG----hgfgfhgfhgjjhköhökhgjhfhgfhgk\nhgjgjhgjhgj";
    // Mail.Bcc.Add("otto.waalkes@gmx.de");       // choose here additionaly anyone
    // Mail.CC.Add("....");

    SmtpClient smtpClient = new SmtpClient("mail.gmx.net");   //  also: mail.gmx.de

    smtpClient.Port = 587;                                      // 587;    also:  25
    smtpClient.Credentials = new NetworkCredential("anyone.name@gmx.de", "password/2022");
    smtpClient.EnableSsl = true;     // recomended for SSL encryption with 465 -> doesn't work
    
    // https://www.wolfgang-frank.eu/mailserver.php    a long list of german mailserver

    try
    {
        smtpClient.Send(Mail);                
    }
    catch (Exception ex)
    {
        Console.Beep();
        MessageBox.Show(ex.ToString());
    }
}

更正:对 windows 7 / visual studio 2019 开发人员的提示:以下代码不适用于.NET 4.7.2 (Visual Studio 2019 /poject explorer / project / rigth mouse / properties / target framework),但适用于 .Net 4.6.1

此外,我必须在发件人的电子邮件浏览器中进行设置 - 这里是 anyone.name@gmx.de / 左下方 - “Einstellungen”(设置)/“POP3/IMAP Abruf”/“das Häckchen”(复选标记) X "GMX Mail über POP3 & IMAP erlauben" <18.12.2022>

电子邮件脚本由ASP.Net

//mail script
           string name = TextBox1.Text;
           string email = TextBox3.Text;
           string feedback = TextBox5.Text;
           System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
           message.To.Add("info@globalestcon.com");
           message.Subject = "Email from website";
           message.From = new System.Net.Mail.MailAddress(email);
           message.Body = feedback;
           System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("relay-hosting.secureserver.net");
           smtp.Send(message);
           TextBox1.Text = "";
           TextBox2.Text = "";
           Response.Write("<script>alert('Form Submitted');</script>");

希望对您有帮助。 它的工作

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM