无法通过本地SMTP服务器发送电子邮件

时间:2012-08-03 03:18:41

标签: c# iis smtp

我正在使用IIS7通过asp.net中的C#发送电子邮件。 但我无法解决错误。

我甚至无法向此路径发送消息

C:\的Inetpub \ mailroot \队列

这是我用过的最简单的代码

MailMessage m = new MailMessage();
    m.From = TextBox1.Text;
    m.To = TextBox2.Text;
    m.Subject = TextBox3.Text;
    m.Body = TextBox4.Text;
    SmtpMail.SmtpServer = "localhost"; //your real server goes here
    SmtpMail.Send(m);
注意:我手动创建了这条路径,是不是错了?或者应该自动创建?

请帮助!

2 个答案:

答案 0 :(得分:0)

如果您手动创建了路径,则计算机上未安装SMTP服务(假设您打算使用此服务而不是第三方SMTP服务器)。

您可以通过查看服务列表来验证这一点(我相信它从简单邮件传输开始......)。

答案 1 :(得分:0)

也许是因为缺少了SmtpCredentials?正如早期的发言者所说,SmtpServer真的是本地主机,这意味着你的机器上有一个smtpserver吗?

我已经完成了一封SMTP邮件,可以从我的程序发送som电子邮件,也许你可以找到一些可以帮到你的东西吗?

看起来像这样。

public class Email
{
    public Email(string recieverAdress)
    {
        mail = new MailMessage(senderAdress, recieverAdress);
    }

    private readonly MailMessage mail;
    private readonly SmtpClient smtpClient = new SmtpClient("smtp.domain.com", port);
    private readonly NetworkCredential credential = new NetworkCredential("username", "password");

    public void SendMail(string subject, string textInBody)
    {
        mail.Subject = DateTime.Now + " " + subject;
        mail.Body = textInBody;
        smtpClient.Credentials = credential;
        smtpClient.Send(mail);
    }
}