通过本地主机服务器在asp.net中发送电子邮件

Had*_*ati 10 c# asp.net

是否有任何示例可以解释我从我的localhost服务器发送电子邮件?我写过这个例子,但它不起作用,错误是"发送邮件失败".

 SmtpClient smtpClient = new SmtpClient();
        smtpClient.Host = "localhost";
        smtpClient.Port = 25;
        smtpClient.EnableSsl = false;
        smtpClient.Credentials = new NetworkCredential("mostang1970@yahoo.com", "secret");
        smtpClient.Send("mostang1970@yahoo.com", "hadinematipartow@yahoo.com", "Let’s eat lunch!", "Lunch at the Steak House?");//here is the error
Run Code Online (Sandbox Code Playgroud)

我应该在web.config中做什么?

wal*_*her 24

在这里你去:) localhost-with-aspnet-without-smtp-server

让我知道它是否适合您的需要.


上面的链接不起作用,所以我会改进答案.

出于测试目的,我们可以使用如下的localhost:如何在ASP.NET中不使用配置SMTP测试电子邮件

如果链接再次关闭,基本上我们必须像这样修改web.config:

  <system.net>
    <mailSettings>
      <smtp deliveryMethod="SpecifiedPickupDirectory">
        <specifiedPickupDirectory pickupDirectoryLocation="C:\Mails\"/>
      </smtp>
    </mailSettings>
  </system.net>
Run Code Online (Sandbox Code Playgroud)

和C#代码

  MailMessage mailMessage = new MailMessage();
  MailAddress fromAddress = new MailAddress("mail@mail.com");
  mailMessage.From = fromAddress;
  mailMessage.To.Add("mail@mail.com");
  mailMessage.Body = "This is Testing Email Without Configured SMTP Server";
  mailMessage.IsBodyHtml = true;
  mailMessage.Subject = " Testing Email";
  SmtpClient smtpClient = new SmtpClient();
  smtpClient.Host = "localhost";
  smtpClient.Send(mailMessage);
Run Code Online (Sandbox Code Playgroud)

这将输出一个文件到我们想要的目录.