C# 在c中发送邮件而不提供网络凭据#

C# 在c中发送邮件而不提供网络凭据#,c#,asp.net,asp.net-mvc,c#-4.0,C#,Asp.net,Asp.net Mvc,C# 4.0,我想知道是否可以在不提供网络凭据的情况下发送邮件?感谢它只能在允许匿名发送的服务器上工作。检查您的服务器是否是此类服务器它只能在允许匿名发送的服务器上工作。检查您的服务器是否是此类服务器除非您在受信任的网络上,否则您几乎肯定需要在某处指定凭据。但是,如果不想在代码中构造NetworkCredentials对象,可以在web.config中配置用户名和密码 <system.net> <mailSettings> <smtp> <network

我想知道是否可以在不提供网络凭据的情况下发送邮件?感谢

它只能在允许匿名发送的服务器上工作。检查您的服务器是否是此类服务器

它只能在允许匿名发送的服务器上工作。检查您的服务器是否是此类服务器

除非您在受信任的网络上,否则您几乎肯定需要在某处指定凭据。但是,如果不想在代码中构造NetworkCredentials对象,可以在web.config中配置用户名和密码

<system.net>
 <mailSettings>
  <smtp>
   <network 
         host="smtp.example.com" 
         port="portNumber"
         userName="username"
         password="password" />
  </smtp>
 </mailSettings>
</system.net>

除非您在受信任的网络上,否则几乎肯定需要在某处指定凭据。但是,如果不想在代码中构造NetworkCredentials对象,可以在web.config中配置用户名和密码

<system.net>
 <mailSettings>
  <smtp>
   <network 
         host="smtp.example.com" 
         port="portNumber"
         userName="username"
         password="password" />
  </smtp>
 </mailSettings>
</system.net>

通常,邮件服务器只接受本地帐户的邮件,不允许转发到其他域,除非您以本地用户身份授权


您可以通过查找其邮件服务器(使用DNS中的MX域记录)并直接使用SMTP发送电子邮件到任何地址。这通常由邮件服务器完成。您可以设置自己的邮件服务器,该服务器允许从您的ip地址(应用程序使用的地址)进行中继,并且您可以将电子邮件发送到任何邮箱。

通常,邮件服务器只接受其本地帐户的邮件,不允许中继到其他域,除非您以本地用户身份授权



您可以通过查找其邮件服务器(使用DNS中的MX域记录)并直接使用SMTP发送电子邮件到任何地址。这通常由邮件服务器完成。您可以设置自己的邮件服务器,允许从您的ip地址(应用程序使用的地址)进行中继,并且您可以将电子邮件发送到任何邮箱。

您是否通过exchange发送电子邮件?您是否通过exchange发送电子邮件?我使用smtp.gmail.com作为服务器,但我认为这不允许匿名发送正确,它们不允许。如果他们有,世界上所有的垃圾邮件发送者都会使用他们的服务器来填充你的收件箱。那么你能给我推荐一些匿名SMTP服务器吗?因为我的项目中有一个场景,我需要以动态来自数据库的用户身份发送邮件。我使用SMTP.gmail.com作为服务器,但我认为这不允许匿名发送正确,它们不允许。如果他们有,世界上所有的垃圾邮件发送者都会使用他们的服务器来填充你的收件箱。那么你能给我推荐一些匿名SMTP服务器吗?因为我的项目中有一个场景,我需要以动态来自数据库的用户身份发送邮件。检查我正在做的事情,但我的问题是,我项目中的邮件模块将使用20多个用户,因此,我无法在我的web.config中配置每个用户,这个问题可能会有所帮助。您建议的方法将要求在创建新帐户时在web.config中配置每个帐户,但这是不可能的。因此,您的系统有用户,他们可以从各自的电子邮件帐户发送电子邮件?然后,你需要要求每个用户提供他们的帐户凭据,将它们存储在数据库中,并在发送电子邮件时将它们取回-创建NetworkCredentials实例并将其传递给SmtpClient的credentials属性。那么,你想要的几乎是不可能的-当然是Gmail。您不能发送匿名邮件,除非您位于受信任的网络上,并且使用您自己的SMTP服务器(在该服务器上已禁用身份验证)。为什么要从用户的电子邮件帐户发送电子邮件?与我正在做的相同,但我的问题是,我的项目中的邮件模块将使用20多个用户,因此我无法在我的web.config中配置每个用户,此问题可能会有所帮助。您建议的方法将要求在创建新帐户时在web.config中配置每个帐户,但这是不可能的。因此,您的系统有用户,并且每个用户都可以从自己的电子邮件帐户发送电子邮件?然后,你需要要求每个用户提供他们的帐户凭据,将它们存储在数据库中,并在发送电子邮件时将它们取回-创建NetworkCredentials实例并将其传递给SmtpClient的credentials属性。那么,你想要的几乎是不可能的-当然是Gmail。您不能发送匿名邮件,除非您位于受信任的网络上,并且使用您自己的SMTP服务器(在该服务器上已禁用身份验证)。为什么要从用户的电子邮件帐户发送电子邮件?