【发布时间】:2020-12-02 04:53:48
【问题描述】:
我正在分析一个具有邮件功能的 C# 项目。由于一些限制,我无法运行该项目。我在分析代码时遇到了一些问题
MailAddress toMailAddress = new MailAddress(strToMail);
MailAddress fromMailAddress = new fromMailAddress(strFromMail);
SmtpClient smtpClient = new SmtpClient(smtpServer);
String strBody = strMessage;
MailMessage msg = New MailMessage();
msg.From = fromMailAddress
msg.To.Add(toMailAddress);
msg.Subject = strSubject;
smtpClient.Send(msg);
- 这里的发件人地址来自数据库,但在数据库中没有存储相应电子邮件的凭据,也没有通过代码传递。这是否意味着我可以在没有凭据的情况下从任何帐户发送电子邮件?
- 发送邮件需要outlook吗?如果是这样,outlook 被配置到不同的帐户而不是代码中的 from 地址,它会抛出任何错误吗?
【问题讨论】:
-
一些设置可以在web.config中进行配置。 Related question
-
注意:可以将 SMTP 服务器配置为允许中继(非认证电子邮件),但很可能设置在 web.config 文件中
-
@Cleptus 这是否意味着如果我的 Outlook 帐户配置为 admin@outlook.com 并且发件人地址是 user@outlook.com,它还能工作吗?如果没有相应用户的用户名和密码,我可以从任何电子邮件 ID 发送邮件吗?
-
当且仅当 SMTP 服务器配置为允许它。不是常见的情况,但如果它允许中继,您可以使用一些凭据进行身份验证并从不同的地址发送
-
Outlook 不是发送电子邮件所必需的。像 GMAIL 这样的邮件服务器接受网络库生成的 SMTP 对象。 GMAIL 需要凭据。默认凭据来自控制面板用户邮件设置(如 POP 帐户)。