如何在web.config中配置smtp设置

时间:2013-10-07 19:36:16

标签: asp.net .net vb.net smtp email-integration

我正在尝试修复继承网站的电子邮件问题,并且无法访问代码(即只编译文件)。此站点需要托管在具有不同smtp服务器的新Web服务器上。

反编译代码后,我可以看到电子邮件是使用下面的方法在代码片段中发送的,smtp设置为smtpMail.SmtpServer =“localhost”但我的新网络服务器的smtp服务器是“relay.tagadab.com”怎么能我们可能在web.config中配置它,以便将localhost视为“relay.tagadab.com”

 Imports Microsoft.VisualBasic, System.Web.Mail

Shared Sub SendMail(ByVal ToAdd, ByVal FromAdd, ByVal Message, ByVal Subject)

    Dim msgMail As New MailMessage()

    msgMail.To = ToAdd
    msgMail.From = FromAdd
    msgMail.Subject = Subject
    msgMail.Headers.Add("X-Mailer", "ASP.NET")

    msgMail.BodyFormat = MailFormat.Text
    msgMail.Body = Message
    'SmtpMail.SmtpServer = "mail.the-radiator.com"
    SmtpMail.SmtpServer = "localhost"
    SmtpMail.Send(msgMail)

End Sub

我在web.config中添加了此部分,但这没有什么区别

 <system.net>
    <mailSettings>
        <smtp>
            <network host="relay.tagadab.com" port="25" />
        </smtp>
     </mailSettings>
</system.net>

3 个答案:

答案 0 :(得分:57)

Web.Config文件:

<configuration>
 <system.net>
        <mailSettings>
            <smtp from="yourmail@gmail.com">
                <network host="smtp.gmail.com" 
                 port="587" 
                 userName="yourmail@gmail.com" 
                 password="yourpassword" 
                 enableSsl="true"/>
            </smtp>
        </mailSettings>
</system.net>
</configuration>

答案 1 :(得分:6)

我没有足够的代表来回答ClintEastwood,并且接受的答案对于Web.config文件是正确的。添加此代码以获得代码差异。

在Web.config上设置mailSettings时,除了新建SmtpClient和.Send之外,您不需要做任何其他事情。它无需引用即可找到连接本身。你可以改变你的C#:

myElement.scrollIntoView(true);
var viewportH = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
window.scrollBy(0, (myElement.getBoundingClientRect().height-viewportH)/2);

对此:

SmtpClient smtpClient = new SmtpClient("smtp.sender.you", Convert.ToInt32(587));
System.Net.NetworkCredential credentials = new System.Net.NetworkCredential("username", "password");
smtpClient.Credentials = credentials;
smtpClient.Send(msgMail);  

答案 2 :(得分:4)

设置IIS以将邮件转发到远程服务器。具体细节因IIS的版本而异。对于IIS 7.5:

  1. 打开IIS管理器
  2. 根据需要连接到您的服务器
  3. 选择服务器节点;你应该在ASP.NET部分右侧看到一个SMTP选项
  4. 双击SMTP图标。
  5. 选择“将电子邮件发送到SMTP服务器”选项,然后输入您的服务器名称,凭据等。