如何在没有SMTP端口、主机和启用SSL的情况下发送电子邮件

本文关键字:SSL 启用 情况下 电子邮件 主机 SMTP 端口 | 更新日期: 2023-09-27 18:00:32

我有以下代码,如果我发送邮件,其显示的电子邮件结尾失败,如何解决这个问题?

public void Sendemail(string toaddr)
    {
        if (Editor1.Content == null)
        {
            ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('Subject or Body of Email Should not be Empty...!');", true);
        }
        else
        {
            string[] arryaddr = toaddr.Split(',');
            MailMessage ms = new MailMessage();
            ms.IsBodyHtml = true;
            //ms.To.Add(new MailAddress("admin@digitalprintonline.co.uk"));
            ms.To.Add(new MailAddress(toaddr));
            string fromaddr = "admin@digitalprintonline.co.uk";
            for (int i = 0; i < arryaddr.Length; i++)
            {
                ms.Bcc.Add(new MailAddress(arryaddr[i].ToString()));
            }
            ms.From = new MailAddress(fromaddr);
            string subject = txtSubject.Text;
            ms.Subject = subject;
            string body = Editor1.Content;
            ms.Body = body;
            ms.Priority = MailPriority.Normal;
            SmtpClient smtp = new SmtpClient();
            smtp.Credentials = new System.Net.NetworkCredential("admin@digitalprintonline.co.uk", "dpo123");
            try
            {
                smtp.Send(ms);
                ScriptManager.RegisterStartupScript(this, GetType(), "showalert", "alert('Email Sent Successfully...!');", true);
            }
            catch (Exception ex)
            {
            }
        }
    }

我有以下电子邮件设置

smtp from="admin@dpoweddings.co.uk"
network host="217.199.175.121"
port="25"
userName="admin@digitalprintonline.co.uk"
password="*****"
enableSsl="false" 

如何在没有SMTP端口、主机和启用SSL的情况下发送电子邮件

SMTPClient使用SMTP(协议)发送电子邮件。因此,它需要有关SMTP服务器的详细信息。考虑下面的代码

        SmtpClient client = new SmtpClient();
        client.UseDefaultCredentials = false;
        client.Credentials = new NetworkCredential("username@gmail.com", "password");
        client.Port = 587;
        client.Host = "smtp.gmail.com";
        client.EnableSsl = true;

在上面的代码中,我们向SMTP客户端提供了以下信息,以使正常工作

  • 主机:smtp服务器详细信息。如您所见,默认情况下您使用@gmail.com,但此处指定为smtp.gmail.com
  • 端口:连接到smtp服务器的端口
  • EnableSsl:如果需要ssl连接
  • 凭据:应使用其凭据发送邮件的帐户

您的代码缺少主机和端口(这也是凭据所必需的,默认情况下EnableSsl为false)

要了解digitalprintonline.co.uk上SMTP服务器的详细信息(主机、端口、Ssl要求),您必须联系那里的管理员。或者,您可以使用GMail SMTP服务器详细信息以及您的GMail帐户凭据。

您不需要在本地机器上安装服务器就可以向SmtpClient发送消息。您的电子邮件服务提供商(如smtp.gmail.com)拥有服务器,您的SmtpClient与该服务器通信。