我正在尝试从 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);
首先,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 服务器帐户凭据才能接收和发送您的消息。
您想使用什么邮件服务器???通常,您只需搜索 SMTP 或 POP3 或您要查找的任何协议,它就会为您提供端口、服务器以及连接到它所需的所有额外信息。
例如:
http://support.google.com/mail/bin/answer.py?hl=zh-CN&answer=13287