Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
附加文件时,asp.net电子邮件在服务器上失败_Asp.net_Email_Smtp_Attachment - Fatal编程技术网

附加文件时,asp.net电子邮件在服务器上失败

附加文件时,asp.net电子邮件在服务器上失败,asp.net,email,smtp,attachment,Asp.net,Email,Smtp,Attachment,当我从本地主机发送电子邮件并使用外部smtp设置时,电子邮件会成功发送,但当我在live server上运行代码并且电子邮件有附件时,电子邮件永远不会发送。在web.config中,我有: <system.net> <mailSettings> <smtp> <network host="localhost" /> </smtp> </mailSetting

当我从本地主机发送电子邮件并使用外部smtp设置时,电子邮件会成功发送,但当我在live server上运行代码并且电子邮件有附件时,电子邮件永远不会发送。在web.config中,我有:

 <system.net>
    <mailSettings>
        <smtp>
            <network host="localhost" />
        </smtp>
    </mailSettings>
</system.net>


此问题仅在带有电子邮件附件的实时站点上出现。它在有或没有附件的本地主机上都可以正常工作。

我不确定,但您的web.config设置可能有问题。您是否有类似于:

  <location path="email" allowOverride="false">
    <system.web>
      <httpRuntime executionTimeout="300" maxRequestLength="15360" />
    </system.web>
  </location>

如果您的aspx文件位于名为“email”的目录下。

此代码帮助我:

 Dim client As New SmtpClient()
    client.Host = "relay.neural.net.au"
    Try
        client.Send(mailMsg)

附件是一个已经存在的文件还是您正在应用程序中创建的文件?我正在使用文件上载控制进行附件我猜您在服务器上遇到权限问题,无法读取该文件,这就是您无法附加该文件的原因。你的身份模拟标签打开了吗?我试过打开这个,但没有打开vain@hotcoder,问题可能与权限相关或与SMTP相关(例如,如果您的SMTP不允许具有特定大小的附件,该怎么办等)。我建议您构建一个小窗口/控制台测试应用程序,使用相同的代码发送电子邮件,并在live server上进行测试。如果失败,显示/记录异常跟踪;若它成功了,那个么您可以确信该问题与用户权限有关。