0

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

根据这篇关于 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>";

提前致谢!

4

2 回答 2

1

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

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

于 2012-09-17T12:56:48.540 回答
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");
于 2012-09-17T16:01:04.483 回答