ASP WebMail:设置SMTP身份验证?

时间:2012-09-17 08:13:17

标签: asp.net email razor smtp webmatrix

我正在使用WebMatrix中的Razor C#语言开发网页。我有一个托管网站,我正在尝试将电子邮件系统整合到其中。

根据this article on WebMail我在_AppStart.cshtml页面中设置了WebMail设置。我从我的服务提供商那里得到了我的设置。他使用CDO对象为我提供了示例代码:

    dim config, sch     
    set config = CreateObject("CDO.Configuration")
    sch = "http://schemas.microsoft.com/cdo/configuration/"

    with config.Fields
        .item(sch & "sendusing") = 2 ' cdoSendUsingPort
        .item(sch & "smtpserver") = "myserver"
        .item(sch & "smtpserverport") = 25
        .item(sch & "smtpusessl") = False
        .item(sch & "smtpconnectiontimeout") = 60           
        .item(sch & "smtpauthenticate") = 1 'basic auth
        .item(sch & "sendusername") = "myemail@email.com"
        .item(sch & "sendpassword") = "password"
        .update
    end with

    Set myMail=CreateObject("CDO.Message")

    With myMail
        .Configuration = config
        .Subject = Request.Form("txtSubject")
        .From = Request.Form("txtFrom")
        .To = Request.Form("txtTo")
        .TextBody = Request.Form("txtMessage")
        Call .Send()
    End With    

正如您所看到的,上面的代码是在CDO中创建的。我正在尝试在Razor中使用WebMail。我遇到的唯一问题是我的电子邮件服务器不是SSL,但需要基本身份验证。我在WebMail中找不到任何身份验证设置。如何在WebMail中设置SMTP身份验证?这是我目前的代码:

WebMail.SmtpServer = "myserver";
WebMail.SmtpPort = 25;
WebMail.EnableSsl = false;
WebMail.UserName = "myemail@email.com";
WebMail.Password = "password";
WebMail.From = "Support <myemail@email.com>";

提前致谢!

2 个答案:

答案 0 :(得分:1)

邮件服务器的基本身份验证通常包括提供用户名和密码。您可以使用WebMail.UserNameWebMail.Password属性设置这些属性。

顺便说一句,您的提供商已经为您提供了使用经典ASP中的CDO发送邮件的示例代码。对你没用。

答案 1 :(得分:0)

这是c#中的一个基本示例。 Smtp类使用用户名密码。

 MailMessage mail = new MailMessage("emailfrom","emailto");


        mail.From = new MailAddress("emailfrom");
        mail.Subject = txtsbjct.Text;
        string Body = txtmsg.Text;
        mail.Body = Body;

        mail.IsBodyHtml = true;
        SmtpClient smtp = new SmtpClient();
        smtp.Host = "localhost"; 
        smtp.Credentials = new System.Net.NetworkCredential
      ("youremail", "yourpassword");