Author |
|
Myr Guest Group
Joined: 10 November 2003
Online Status: Online Posts: 262
|
Posted: 19 October 2004 at 7:14pm | IP Logged
|
|
|
Hi:
I installed the SMTP Component for working with ASP pages.
I'd like to send by email a resultant ASP page using a root reference from my website and not physical address. Can you help me about that?
...
objSMTP.Subject = "Datum S.A. - Servicios de Informacion"
objSMTP.ImportBodyText "F:\Intepub\wwwroot\WebDatumDC\sms\DatumCheckSMSemail.asp", True
objSMTP.Send
...
I want to use something like that:
objSMTP.ImportBodyText "sms\DatumCheckSMSemail.asp", True
With this way, I can to send variable date in the ASP Page.
|
Back to Top |
|
|
Alex AfterLogic Support
Joined: 19 November 2003
Online Status: Offline Posts: 2206
|
Posted: 20 October 2004 at 7:13am | IP Logged
|
|
|
It seems you're developing some sort of automated mailing where the same email is sent to different addresses with customization of certain fields. E.g. page layout is the same, while data values are different (probably taken from database). For this purpose, mail merge technology is optimal for both sending performance and simplicity of page layout modifications.
Mail merge assumes you have the layout of your page with placeholders instead of real values. In fact, your existing ASP page is already a sort of such layout. Let's assume the ASP page you want to send looks like below:
' Mail.asp
<html>
From:<%=strSender%> <br>
To:<%=strRecipient%> <br>
Subject: <%=short_txt%>
<p>
Here is a diagram: <br>
<%=diagram_html%>
</p>
</html>
Also, let's assume we have database table containing all values used for strSender, short_text, etc.
Now, send the ASP page to all recipients taking values from database table. For shorter code, I omitted connection to database becuase it's not a key part of the example. In the code below, rsEmails is already opened database table.
' Omitted: connect to database, open table and load it into rsEmails recordset object
Set objSMTP = Server.CreateObject("MailBee.SMTP")
objSMTP.LicenseKey = "put your license key here"
objSMTP.ServerName = "localhost"
If objSMTP.Connect
Do While Not rsEmails.EOF
objSMTP.FromAddr = rsEmails("from")
objSMTP.ToAddr = rsEmails("to")
objSMTP.Subject = rsEmails("short_text")
' The most interesting part: get message from file,
' and then replace variables with real values
objSMTP.ImportBodyText "C:\path_to_file\Mail.asp", 1
objSMTP.BodyText = Replace(objSMTP.BodyText, _
"<%=strSender%>", rsEmails("from"))
objSMTP.BodyText = Replace(objSMTP.BodyText, _
"<%=strRecipient%> ", rsEmails("to"))
objSMTP.BodyText = Replace(objSMTP.BodyText, _
"<%=short_text%>", rsEmails("short_text"))
objSMTP.BodyText = Replace(objSMTP.BodyText, _
"<%=diagram_html%> ", rsEmails("diagram_html"))
If Not objSMTP.Send Then
Response.Write _
"Error! Check ServerResponse and ErrCode"
Response.End
End If
' Once the message is sent, we need
' to clear it before sending next message
objSMTP.ResetMessage
rsEmails.MoveNext
Wend
objSMTP.Disconnect
End If
The code above is simplified and shows the idea only. You can find complete examples of mail merge at "Mail merge and bulk e-mail" topics of "Code Samples/Sending e-mails (SMTP)" section in MailBee Objects help file.
Regards,
Alex
|
Back to Top |
|
|