如何使用.config文件在clssical asp上发送邮件

时间:2012-02-14 05:06:00

标签: asp.net asp-classic

我有一个经典的asp项目。在这个项目上我需要发送邮件。我需要帮助使用bellow .config文件信息从经典asp发送邮件。

  <appSettings>
    <add key="smtpHost" value="smtp.gmail.com" />
    <add key="smtpPort" value="587" />
    <add key="emailTo" value="xxx@gmail.com" />
    <add key="emailFrom" value="yyy@gmail.com" />
    <add key="smtpUser" value="smtp.test@nazdaqTechnologies.com" />
    <add key="smtpUserPassword" value="test.smtp" />
    <add key="emailSubject" value="Email Auto Reorder for callback" />
    <add key="smtpDomain" value="" />
    <add key="ClientSettingsProvider.ServiceUri" value="" />
  </appSettings>

在asp.net中,我使用bellow语法发送邮件

System.Net.Mail.MailMessage message = new System.Net.Mail.MailMessage();
message.To.Add("luckyperson@online.microsoft.com");
message.Subject = "This is the Subject line";
message.From = new System.Net.Mail.MailAddress("From@online.microsoft.com");
message.Body = "This is the message body";
System.Net.Mail.SmtpClient smtp = new System.Net.Mail.SmtpClient("yoursmtphost");
smtp.Send(message);

我刚刚进入古典asp,如果这是一个基本问题,请原谅我。我需要帮助来使用.config文件信息发送邮件。

我只是希望能够使用我的Gmail帐户(smtp服务器)从我的网站向指定的电子邮件地址发送电子邮件。 我有以下代码,其他人已成功使用,但我收到错误

<%
Set objCDOSYSMail = Server.CreateObject("CDO.Message")
Set objCDOSYSCon = Server.CreateObject ("CDO.Configuration")

''# Authenticate if necessary
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "username@googlemail.com"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mygmailpassword"

''# Outgoing SMTP server configuration
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.gmail.com"
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 1
objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60

''# Update the CDOSYS Configuration
Set objCDOSYSMail.Configuration = objCDOSYSCon
objCDOSYSMail.From = "username@googlemail.com" ''# This has to be valid email address on the selected SMTP server
strSubject = "Email test"
strHTML = "This is a test"
objCDOSYSMail.To = "username@hotmail.com"
objCDOSYSMail.Subject = strSubject
objCDOSYSMail.HTMLBody = strHTML
objCDOSYSMail.Send 
%>

enter image description here

这是关于错误的讨论:006~ASP 0177~Server.CreateObject失败~800401f3 -asp显示上面的错误。任何人都可以帮忙解决这个问题----------------------------------------- --------------------------------------------------没有Set objCDOSYSMail = Server.CreateObject("CDO.Message")我的os = win7和win-server-2003 r2上的asp文件工作正常。

2 个答案:

答案 0 :(得分:1)

试试这个:

Set objEmail = Server.CreateObject("CDONTS.NewMail")
objEmail.to = "to_email@gmail.com"
objEmail.From = "your_email@domainname.com"
objEmail.Subject = "Subject"
objEmail.Body = "Email Body"
objEmail.send
Set objEmail = nothing

另见:http://support.jodohost.com/showthread.php?p=73224

<强>更新

在这里查看MS的一些asp代码。 http://msdn.microsoft.com/en-us/library/ms972337.aspx

答案 1 :(得分:0)

How to send an email from one Gmail account to another one using a batch file or script?

Const schema   = "http://schemas.microsoft.com/cdo/configuration/"
Const cdoBasic = 1
Const cdoSendUsingPort = 2
Dim oMsg, oConf

' E-mail properties
Set oMsg      = CreateObject("CDO.Message")
oMsg.From     = "from@gmail.com"  ' or "Sender Name <from@gmail.com>"
oMsg.To       = "to@gmail.com"    ' or "Recipient Name <to@gmail.com>"
oMsg.Subject  = "Subject"
oMsg.TextBody = "Text body"

' GMail SMTP server configuration and authentication info
Set oConf = oMsg.Configuration
oConf.Fields(schema & "smtpserver")       = "smtp.gmail.com"
oConf.Fields(schema & "smtpserverport")   = 465
oConf.Fields(schema & "sendusing")        = cdoSendUsingPort
oConf.Fields(schema & "smtpauthenticate") = cdoBasic
oConf.Fields(schema & "smtpusessl")       = True
oConf.Fields(schema & "sendusername")     = "from@gmail.com"
oConf.Fields(schema & "sendpassword")     = "sender_password"
oConf.Fields.Update

oMsg.Send