C# 4.0 从网络上的计算机发送电子邮件-.NET 4.0

C# 4.0 从网络上的计算机发送电子邮件-.NET 4.0,c#-4.0,.net-4.0,system.net.mail,C# 4.0,.net 4.0,System.net.mail,我正在尝试创建一个小型桌面应用程序,它可以向办公室里的人发送电子邮件(都是内部的)。我的应用程序将在网络上的PC上运行,用户将让outlook运行自己的电子邮件 我正在看几个例子,其中您需要SmtpClient,并且它需要与主机相等。有没有一种方法可以让我设置为使用本地机器 MailMessage mailObj = new MailMessage("admin@network.com", reader["recipientAddr

我正在尝试创建一个小型桌面应用程序,它可以向办公室里的人发送电子邮件(都是内部的)。我的应用程序将在网络上的PC上运行,用户将让outlook运行自己的电子邮件

我正在看几个例子,其中您需要SmtpClient,并且它需要与主机相等。有没有一种方法可以让我设置为使用本地机器

                MailMessage mailObj = new MailMessage("admin@network.com",
                reader["recipientAddress"].ToString(), "Subject", "Body");
                SmtpClient SMTPServer = new SmtpClient("127.0.0.1");
                SMTPServer.Send(mailObj);
我读到127.0.0.1是本地机器。这行得通吗,还是有不同的方法


如果我的邮件发送到外部电子邮件,我的邮件也会发出吗?

您必须在本地主机上安装SMTP服务器才能发送邮件

Outlook仅通过POP3或IMAP等接收电子邮件

编辑: i、 你需要

  • 通过SMTP从您的客户端接收邮件并将其转发到其目标的服务器;及
  • 一些服务器接受邮件(通常通过SMTP)并将其存储在邮箱中,以便人们以后可以通过POP3或IMAP或其他方式检索邮件
  • 您的公司邮件服务器通常应同时执行这两项操作


    编辑2:

    您可能会作弊,并使用
    SMTPClient
    直接将邮件发送到收件人的邮箱服务器

    尝试解析MX记录(请参阅),并直接创建一个
    SMTPClient
    ,以返回最佳MX服务器


    如果Microsoft实施了足够多的SMTP规范,并且您的主机未被视为发送垃圾邮件,则邮件应通过。

    本地计算机是否运行SMTP服务器?我不确定。我只知道它已连接到网络,并且机器具有Outlook作为电子邮件客户端。如果我想发送电子邮件,可以通过POP3发送吗?不幸的是,POP3仅用于检索邮件。这是一个轮询系统,而不是推送系统,也就是说,当客户端连接时,邮件必须在那里才能被检索,而您不能将邮件推送到客户端。如果要在程序中执行此操作,必须实现POP3协议和之前生成的消息的存储,这是非常重要的。因此,如果不想使用外部SMTP服务,最简单的方法是找到一些简单的SMTP服务器并在本地安装它。或者编写一个简单的客户端来替换outlook的角色。。。