通过SmtpClient发送邮件的异常

时间:2014-10-09 16:19:00

标签: c# smtp

我想在我的Windows系统上使用auth创建一个SMTP服务器。出于测试原因,我不想从互联网上下载另一个SMTP工具,因此我尝试直接在代码中发送电子邮件(仅用于调试)。我的代码目前:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Mail;

namespace smttest
{
class Program
{
    static void Main(string[] args)
    {

        SmtpClient smtpClient = new SmtpClient();
        NetworkCredential basicCredential = 
        new NetworkCredential("username", "password"); 
        MailMessage message = new MailMessage(); 
        MailAddress fromAddress = new MailAddress("from@dnet.com");

        smtpClient.Port = 26;
        smtpClient.Host = "localhost";
        smtpClient.UseDefaultCredentials = false;
        smtpClient.Credentials = basicCredential;

        message.From = fromAddress;
        message.Subject = "testmail";
        //Set IsBodyHtml to true means you can send HTML email.
        message.IsBodyHtml = true;
        message.Body = "testmail from sharp";
        message.To.Add(new MailAddress("my@email.com"));

        try
        {
            smtpClient.Send(message);
        }
        catch(Exception ex)
        {
            //Error, could not send the message
            Console.Write(ex.Message);
            Console.ReadLine();
        }


    }
}
}

cmd只显示我:发送电子邮件时出错(翻译自德语)。我不知道如何解决这个问题。

2 个答案:

答案 0 :(得分:0)

您使用localhost作为SMTP服务器。它是电子邮件服务器吗?如果没有,则无法使用SMTPClient发送电子邮件。您需要一个像smtp.google.com这样的SMTP服务器

答案 1 :(得分:-1)

我有点困惑。我需要一个电子邮件(SMTP)服务器,在C#中运行auth(简单用户/通行证),使用另一个名为“MaxBulkMailer”的软件发送电子邮件。 c#中的SMTP服务器应该只在cmd上运行,没有GUI内容。