我正在使用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>";
提前致谢!
答案 0 :(得分:1)
邮件服务器的基本身份验证通常包括提供用户名和密码。您可以使用WebMail.UserName
和WebMail.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");