什么是 SMTP 服务器地址以及如何获取 SMTP 服务器地址?

问题描述 投票:0回答:3

我正在尝试从 C# Windows 应用程序发送电子邮件,我需要 SMTP 服务器地址来发送电子邮件,但我不知道 SMTP 服务器地址、什么是 SMTP 服务器地址、如何获取 SMTP 服务器地址以及如何使用它。

这是代码:

System.Web.Mail.MailMessage message=new System.Web.Mail.MailMessage();
message.From="from e-mail";
message.To="to e-mail";
message.Subject="Message Subject";
message.Body="Message Body";
System.Web.Mail.SmtpMail.SmtpServer="SMTP Server Address";
System.Web.Mail.SmtpMail.Send(message);
c# .net email smtp smtpclient
3个回答
1
投票

首先,System.Web.Mail 命名空间实用程序被标记为“过时”,不应使用。相反,您应该使用 System.Net。在该命名空间中,有一个“MailMessage”和一个“SmtpClient”类,它们将完成您想要做的工作。

接下来,SMTP 服务器是在计算机上运行的一个进程,当连接到 inetrnet 时,它可以侦听并响应在特定端口上使用特定协议的传入请求。您可以将 SMTP 服务器视为邮局中的机器,用于对邮件进行分类并将其路由到适当的邮箱。
.
SMTP 服务器有一个地址,就像互联网上需要与其他任何东西通信的其他东西一样。该地址用于将您的邮件消息通过正确的通信通道发送到正确的机器。您可以将其视为其电话号码,并将您的邮件消息视为将发送给它的文本。

接下来,我上次检查时您要查找的地址是:smtp.gmail.com。 因此,考虑到您需要停止使用 System.Web.Mail,并考虑到您的地址可能是 smtp.gmail.com,您的代码应如下所示:

        // setup mail message
        MailMessage message = new MailMessage();
        message.From = new MailAddress("from e-mail");
        message.To.Add(new MailAddress("to e-mail"));
        message.Subject = "Message Subject";
        message.Body = "Message Body";

        // setup mail client
        SmtpClient mailClient = new SmtpClient("smtp.gmail.com");
        mailClient.Credentials = new NetworkCredential("[email protected]", "yourGmailPassword");

        // send message
        mailClient.Send(message);

此外,这里有一篇关于使用 gmail 作为 smtp 服务器的不错的文章: 如何使用 Gmail 作为您的 SMTP 服务器

此外,如果 gmail 不适合您,您可以使用互联网提供商的 smtp 服务器。他们通常会将 smtp 地址隐藏在网站上的某个位置,以帮助想要设置电子邮件程序的客户。如果您在其他地方找不到,您也可以在帐户设置下的 Outlook 中查看,如果您使用 Gmail 以外的任何工具,您应该在那里找到一个。

最后,请记住,如果不使用愿意接收和发送您的邮件消息的 smtp 服务器,则无法发送电子邮件。一般来说,这类似于 gmail 或互联网提供商的 smtp 服务器,地址通常为:smtp.providername.com。但是,例如,gmail 需要您的 smtp 服务器帐户凭据才能接收和发送您的消息。


1
投票

您想使用什么邮件服务器???通常,您只需搜索 SMTP 或 POP3 或您要查找的任何协议,它就会为您提供端口、服务器以及连接到它所需的所有额外信息。

例如:

http://support.google.com/mail/bin/answer.py?hl=zh-CN&answer=13287


0
投票

我喜欢 dylansweb 的 answer,因为它讨论了您需要访问 SMTP 服务器的事实。 但是,要连接到它,您将需要一个客户端库。 最近,我也需要以编程方式发送电子邮件,尽管是使用 python,而不是 C#。 我在自己的计算机上启动了 SMTP 服务器,但是传输电子邮件失败。 我不知道为什么它不起作用。 也许服务器实际上并不在互联网上,为此它需要一个可公开访问的 IP 地址 - 而不仅仅是家庭网络 IP? 我决定使用谷歌的服务器,并且我让它工作了! 请注意,要登录我的 Gmail 帐户发送电子邮件,我必须设置一个应用程序密码

© www.soinside.com 2019 - 2024. All rights reserved.