
Services
Hosting
Design
eCommerce
Sign Up!
Support
How Do I?
Resources
Billing
Contact VIS
Feedback Form
e-Mail
Voice/Fax:
800-664-8113
|
AspMail 3.x
About AspMail
AspMail allows you to send mail using the standard SMTP protocol from any program that can use ActiveX/OLE components. Features include:
- SMTP (sending) Messages
- Multiple File Attachments
- File attachments support MIME and UUEncoding
- US Ascii and ISO-8859-1 character sets
- PGP
- Subject line encoding for 8bit message subjects
- Redundant SMTP servers (If the primary SMTP server is down, the secondary server is used)
- Special Header Support (Standard X-Priority headers, MS Mail (including Exchange) priority headers, Urgent header, ConfirmReading and ReturnReceipt Headers)
- Multiple concurrent users (Tested with 15 concurrent connections)
Changes in AspMail 3.0
Better support for MTS. Transactions are not supported in the 3.0 release but you should be able to incorporate AspMail into MTS packages without any troubles.
Better COM support. AspMail is now more compatible with VC, VFP, VB, PowerBuilder and other development systems besides ASP.
Simple Mail Example
Using the component is as simple as
- Creating the object
- Setting a few properties
- Calling the SendMail method
The following code demonstrates how to use AspMail from VBScript. In this example Joe from Joe’s Widgets wishes to send an email to John Smith. Joe’s mail server is located at mailhost.localisp.net.
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName = "Joe’s Widgets Corp."
Mailer.FromAddress= "Joe@somehost.com"
Mailer.RemoteHost = "mailhost.localisp.net"
Mailer.AddRecipient "John Smith", "jsmith@anotherhostname.com"
Mailer.Subject = "Great SMTP Product!"
Mailer.BodyText = "Dear Stephen" & VbCrLf & "Your widgets order has been processed!"
if Mailer.SendMail then
Response.Write "Mail sent..."
else
Response.Write "Mail send failure. Error was " & Mailer.Response
end if
By testing the result of the SendMail method we can determine if the mailing process was successful or not.
Form Handling
All or partial input for a message may come from a form. For example, a form posted to the server with a request method of GET (i.e. <form action="/scripts/AspMail.asp" method=get>) may provide the message recipient’s email address, subject and message text as follows:
Mailer.AddRecipient Request.QueryString("ToName"), Request.QueryString("ToAddress")
Mailer.Subject = Request.QueryString("Subject")
Mailer.BodyText = Request.QueryString("MsgBody")
The form may also use the POST method (i.e. <form action="/scripts/AspMail.asp" method=post>) in which case the code would look as follows:
Mailer.AddRecipient Request.Form("ToName"), Request.Form("ToAddress")
Mailer.Subject = Request.Form ("Subject")
Mailer.BodyText = Request.Form ("MsgBody")
You can use any mixture of static and dynamic data in setting the components properties as dictated by your needs. For example, you may wish to send the mail to a single user. In this case you could modify the code to look something like this:
Mailer.AddRecipient "John Smith", "jsmith@alocalhost.com"
Mailer.Subject = Request.QueryString("Subject")
Mailer.BodyText = Request.QueryString("MsgBody")
Generic Form Handling
In some cases users may wish to use a number of different forms to send email with the same block of code. ASP allows you to loop through each QueryString or Form variable and append each one to string variable which is then assigned to the BodyText property. Please note: AspMail cannot control the order that these variables are returned in. This is a function of ASP, not AspMail. ASP takes the form variables and creates the appropriate Request collection (QueryString or Form) and stores the data in an order that AspMail cannot change. If you use this method you must accept ASP's order.
strMsgHeader = "Form information follows" & vbCrLf
for each qryItem in Request.QueryString
strMsgInfo = strMsgInfo & qryItem & " - " & request.querystring(qryItem) & vbCrLf
next
strMsgFooter = vbCrLf & "End of form information"
Mailer.BodyText = strMsgHeader & strMsgInfo & strMsgFooter
Setting Mail Priority
There are a couple of headers that can be modified to set message priority.
The Priority property sets the message priority on a scale of 1 to 5. A priority of 1 means HIGH. A priority of 3 means NORMAL and a priority of 5 means LOW. In addition to this you can also set the Urgent property if the message status is urgent. The Urgent property is a true/false property.
How to Use the DateTime Property
The component creates a Date/Time value for the message based on the calculated GMT time. The DateTime property was added to allow users to set a custom date/time timezone. The following code demonstrates how to set the DateTime to US Central Standard Time. By slightly altering the code you can adjust this to work for your own timezone.
function DayName (intDay)
select case intDay
case 1
DayName = "Sun"
case 2
DayName = "Mon"
case 3
DayName = "Tue"
case 4
DayName = "Wed"
case 5
DayName = "Thu"
case 6
DayName = "Fri"
case 7
DayName = "Sat"
end select
end function
function MonthName (intMonth)
select case intMonth
case 1
MonthName = "Jan"
case 2
MonthName = "Feb"
case 3
MonthName = "Mar"
case 4
MonthName = "Apr"
case 5
MonthName = "May"
case 6
MonthName = "Jun"
case 7
MonthName = "Jul"
case 8
MonthName = "Aug"
case 9
MonthName = "Sep"
case 10
MonthName = "Oct"
case 11
MonthName = "Nov"
case 12
MonthName = "Dec"
end select
end function
[set other Mailer properties]
Mailer.DateTime = DayName (WeekDay(Date)) & ", " & Day(Date) & " " &
MonthName(Month(Date)) & " " & Year(Date) & " " & FormatDateTime(Now, 4)
& " -0600 (CST)"
Mailer.SendMail
Notes About Creating the Mailer Object
You can create the mailer object at two different points in time:
- Immediately before sending an email
- At the session scope and saved as a session object
You will have to decide when and where it is appropriate to create the object based on your particular application. If you aren't sure which way to create the object reference, or for typical usage, you should create the object immediately before sending your email. Your code would look like this:
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
... [Set properties]
if Mailer.SendMail then ...
Creating these local references, as demonstrated above, allow you to use the object on multiple application threads at the same time.
To create an object reference at the session level, your code might look something like this:
if Not IsObject (session("Mailer")) then
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Set session("Mailer") = Mailer
else
Response.write "Cached session object reference being used
"
Set Mailer = session("Mailer")
end if
Multiple Host Support
AspMail provides one host property to set up remote SMTP server addresses. The RemoteHost property should be set to your primary and secondary server’s address separated by semicolons. In the event that the primary server is down, AspMail will attempt to use the secondary server. For example,
Mailer.RemoteHost = "mailhost.localisp.com;mailhost.anotherisp.com"
PGP Support
AspMail now supports PGP. See the pgpmail.asp script for an example of usage. ServerObjects Inc. is not responsible for PGP support. If you have questions about PGP please contact the developers of PGP. PGPMail.asp is part of the AspMail evaluation zip file.
Questions about AspMail
See http://www.serverobjects.com/TechComm.htm for general ASP support errors and issues.
Download our troubleshooting utility for help with configuration problems.
How do I determine a cause of mail failure? |
Note about FromAddress: You must specify a
value for the FromAddress property. Mail failure will occur without a
FromAddress. If the component can determine why the
SendMail method failed, that information will be stored in the Response property. So, for
example, to print that information to the clients browser you could add the following
code:
if not Mailer.SendMail then
if Mailer.Response <> ''" then
strError = Mailer.Response
else
strError = "Unknown"
end if
Response.Write "Mail failure occured. Reason: " & strError
end if
Another fairly common problem is when a user reports that
a specific feature is not working. For example BCC's may seem to never reach their
destination. A valuable debugging tool is available with the SMTPLog feature. Assign a
valid filename to this property and the contents of the SMTP transaction that occurs
during a SendMail call will be recorded to this file. If you find that the SMTP
transaction occurs without error then you should check elsewhere for the cause of mail
delivery failure. Invariably the user finds that the BCC address was invalid or that the
address was misconfigured. The SMTPLog feature allows you to verify if the transactions
are complete and valid before pursuing other avenues in determining the cause of failure. |
Checking the Mailer.Response property
returns "File Access Denied"
or
"Cannot create file"
or
"I have a TMP/TEMP var but it still isn't
working"
What's wrong? |
You probably don't have a TMP or TEMP path
set up, or if you do, the IIS User (or any users authenticating under IIS) don't have
read/write access to the this directory.
- Make sure the directory exists.
- Make sure the TMP or TEMP variable exists in your NT/Win95
environment. Under NT this must be a system environment variable, not a user
environment variable. If TShoot (see our tech support page) doesn't show the var it isn't
a system var. It must be a system var.
- Make sure all users which need access to the component
(the anonymous IIS user and any other users which authenticate under IIS) have read/write
access to this path.
How to determine where your TMP/TEMP
dir points to
AspMail versions 2.5.8 and higher have a method called
GetTempPath. To display where your TMP path is set to place the following code in an ASP
script and run it.
Set Mailer =
Server.CreateObject("SMTPsvg.Mailer")
Response.Write Mailer.GetTempPath
Your Win32 OS is designed to find your temporary path in the following manner:
- Check for TMP.
- If it does not exist, check for TEMP.
- If it does not exist use the current directory. ASP tends
to use the \WinNT directory in this case.
|
What would cause an "Operation timed
out error"? or
"AspMail has been working great but suddenly I'm
getting an 'Operation timed out' error. |
Reasons for operation timed out include:
- SMTP server is down, overloaded or simply not responding
- Firewall blocking port 25 between AspMail and SMTP server
- Packet filtering blocking port 25 between AspMail and SMTP
server
- IP route is down
- Your Winsock configured DNS server is down
To check using another method run
telnet [smtp hostname] 25
from the IIS server where AspMail is installed. If telnet can see the
SMTP server, then AspMail can see the server also. |
I'm adding attachments but they aren't
getting added to the actual mailing. What's wrong? |
- The path specified is not valid.
- The user the component is running under, typically the
anonymous IIS user, does not have rights to open the file. The anon IIS user, by default,
cannot read from networked drives so a path such as \\foobar\files\myfile.zip is not
valid.
- The file is open by another process that's denying reads
to the file.
|
Is there a comprehensive list of errors
that can be returned by AspMail? |
There are quite a few errors that can be
returned. We do not have a comprehensive list, primarily because these errors are returned
from systems AspMail is dependent on. The errors can come from your SMTP server (errors
vary from vendor to vendor), from WinSock errors (documented by Microsoft) and general OS
errors such as out of memory, disk read/write failures etc... (again documented by
Microsoft). |
"AddCC or AddBCC doesn't work" -
is this a bug with AspMail? or
"I'm adding multiple recipients but only the first
one is getting delivered. What's wrong with AspMail?" |
AddRecipient, AddCC and AddBCC work just as
they should. The problem is not with AspMail. It is likely that your SMTP server is
rejecting "foreign addresses" (see "no relay" question below). To test whether AspMail is functioning properly use the SMTPLog
property to capture an SMTP session with multiple recipients. All the recipients you send
to should appear in the log as the SMTP envelope is sent. If they all appear then the
problem is with your SMTP server or an SMTP server down the stream (or your addresses are
invalid). |
The syntax Mailer.AddRecipient = "name", "name@address.net"
and
Mailer.AddRecipient = "name@address.net"
both return a VBScript error. What's wrong? |
First off, remove the = sign. AddRecipient
sounds like and is actually a method, not a property. Also AddRecipient takes two
parameters. See AddRecipient in the methods listing for details. |
What's the syntax for adding multiple
recipients? |
Call AddRecipient, AddCC or AddBCC for each
recipient. There's no other way to add multiple recipients. Mailer.AddRecipient "name1", "address1"
Mailer.AddRecipient "name2", "address2"
Mailer.AddBCC "name3", "address3" |
How do I define the sensitivity of the
message? |
Outlook allows you to define a message
sensitivity. You can do this using as mail by adding the sensitivity header along with the
proper text for the sensitivity header. For
example:
Mailer.AddExtraHeader "Sensitivity:
Company-Confidential" |
How do I create a hyperlink in my message? |
Set Mailer.ContentType =
"text/html" and include the hyperlink just like you would with html. <html>
<head><title>AspMail HyperLink</title><head>
<body>
<H3>AspMail HyperLink</H3>
<%
Set Mailer = Server.CreateObject("SMTPsvg.Mailer")
Mailer.FromName = "Status Update Report"
Mailer.FromAddress = "useyour@isphostnamehere.com"
Mailer.RemoteHost = "your.smtp.server"
Mailer.AddRecipient "Your Recipient",
"yourrecipients@addressgoeshere.com"
Mailer.Subject = "AspMail Hyperlink"
Mailer.ContentType = "text/html"
Mailer.BodyText = "<html><body>Here's some <a
href=""http://www.serverobjects.com/"">info</a></body></html>"
if Mailer.SendMail then
Response.Write "Mail sent..."
else
Response.Write "Mail failure. Check mail host server name and tcp/ip
connection..."
Response.Write "<p>" & Mailer.Response
end if
%> |
How do I create a line-break in a message? |
Under VBScript you can use the predefined
constant VbCrLf. Simply using a Chr(13) or a Chr(10) will not work --you must use both --
the VBCrLf defined constant is the preferred method. A Carriage-return and line-feed
character are required to create a new line in the message. See the sample scripts for
examples. |
"Do I need to install SMTP on my
server?" |
AspMail "knows" how to talk SMTP
without any external dependencies. You do not need to have Exchange or other products
installed (outside of the OS) for AspMail to work. |
How do I set the username and password to
send mail? |
Standard SMTP does not use a uid/pwd so it
isn't needed. The protocol used to retrieve mail, POP3 typically requires a uid/pwd but
AspMail doesn't use POP3 since it is a send mail component. |
What versions of PGP does AspMail support? |
AspMail can support any encryption program
that uses command-line parameters. Using PGPPath and PGPParams you can specify input,
output and processing options. The current version of PGP (5.0) does not support
command-line parameters but the commercial PGP 4.x does as well as the freeware
(non-commercial use) PGP 2.6.2. |
How do I troubleshoot PGP usage? |
- Check permissions on the pgp.exe. The anon IIS user (if
you are calling PGP from that user account) will need rights to read and execute files
from the PGP directory.
- Verify the path and params you are setting up to call PGP.
- Use task manager to see if PGP is getting executed on the
server.
- Check the Mailer.Response property immediately after
you call GetBodyTextFromFile to see if any O/S errors are getting returned by the
call to PGP.
- If the error returned in the Response property indicates
that file access was denied, or that there was a file access timeout you need to find
out...
- If the file is getting created in the path specified.
- What has the file open. You can use
Filemon for Windows NT and
HandleEx from Systems Internals to
help debug these issues.
|
My mail to AOL is bouncing. What am I doing
wrong? |
AOL will not accept anything other than a
true address in the "From:" heading. Just about every mail system out there,
except AOL and Compuserve, will accept the "No Mail Address" as the
"From:" header. (thanks to R.S for this info).
|
I want to create a mail service like
HotMail or Yahoo Mail. Do you have script code that would serve as a basis for this? |
No. We only provide the AspMail and AspPOP3
components. You will have to either write the code yourself or find a consultant to do it
for you. |
I want to use AspMail from VB, FoxPro or
[insert name here]. |
The product
page has several examples of usage from other languages. Be sure you are using AspMail
3.x since this version corrects a problem some users reported with previous versions. |
Does AspMail support 8bit messages? or
"does AspMail support Japanese character set" |
AspMail supports any 8 bit characters but
please note:
- Message bodies may be 8bit.
- Some SMTP servers drop the 8th bit in message headers
including Subject lines.
- You can encode message subjects using a new method named
EncodeHeader. See the methods listing for details. Some character
sets don't work properly using this method, some do. We don't have any support for
character sets that don't work properly using this encoding.
|
Can I repeatedly assign values to the
BodyText property? and "The message text keeps growing with each email I send." |
Yes, the text will be appended to the
message. Use ClearBodyText if you need to clear the message text. |
Can AspMail be used to retrieve files off
the client computer? |
AspMail is a server-side component.
Retrieving files from the client computer requires a client-side component that has access
to the client's local harddisk or a browser that supports file uploads in addition to a
server side component/extension that can accept those files. AspMail does not support
this function. |
How do I get Exchange to route Internet
email to the Net? |
Exchange uses a service called the Internet
Mail Connector (IMC) to allow it to act as an SMTP server and transmit and receive mail
via a TCP/IP network. If you are not running the IMC you will not be able to send or
receive mail from the Internet by AspMail or any other means. Once you have SMTP mail going with the IMC, no further action
should be necessary to use AspMail. (Thanks to Steve Crane for this information).
Note: You must enable the rerouting on your Exchange's
Internet Mail Connector. Go in the properties of your Internet Mail Services (Exchange
5.0). Check the reroute incoming SMTP mail option and add a route to your domain. Mail
sent to "yourdomain.com" should be accepted as "inbound". Thanks to
Sébastien Stormacq for this information. |
How do I upgrade to the latest version? |
Download the latest "eval"
version and follow the upgrade directions provided earlier in this document. |
Can I redistribute this control with my
products? |
The license agreement does not permit
redistribution of AspMail. |
The SMTP server is reporting back a
"no relay" error. What's wrong?
|
The SMTP server is looking at your
FromAddress and determining that it doesn't know who you are. Some SMTP servers are
configured to disallow the "relaying" or transfer of mail originating from
addresses outside of its own domain. The only solution is to provide a FromAddress that's
local to the SMTP server's domain or get the operator of the SMTP server to allow the
FromAddress you are using. This setting is commonly used by ISP's to prevent spammers from
using their resources. |
What does error "554 No valid
recipients" mean? or
"503 Need RCPT (recipient)" |
500 series errors are errors that the SMTP
server generates. This error means that the message recipients given are either not given
(you didn't use AddRecipient, AddCC or AddBCC) OR they are not valid recipients for this
SMTP server. This is often associated with the "no relay" issued covered above.
The SMTP server rejects the given recipients and then issues this error. This typically
happens when you have IgnoreInvalidRecipients set to true. You can verify that the SMTP
server is ignoring your recipients due to the "no relay" issue or for any other
reason by using the SMTPLog property to generate a log and then look at the rejection
errors in the log file. |
Some of our emails are getting equal signs
at the end of lines in some messages. Why?
|
AspMail can encode high characters using a
scheme where the = sign
indicates a character to be decoded follow by the hex string value of
the character to be encoded. This system of course assumes that the client can decode
these characters (which most can). This is called quoted-printable encoding. The default
for AspMail is not to use QP encoding. Things that trigger automatic QP encoding:
- High characters - characters with the following ordinal
values 0..31,61,128..255
- Long lines of a message body (you can turn wordwrap on to
fix this case)
Most clients are capable of handling QP encoding. If your
client is not capable then you should upgrade your client or you must work within the
above limitations to prevent the QP encoding from occuring. |
Sometimes I get multiple messages sent when
I call SendMail. Why? |
AspMail has an internal routine to look for
errors. If an error occurs at any point (even after the text of the message has been sent
to the SMTP server) AspMail will go ahead and attempt to send it a second time in an
attempt to complete the SMTP transaction without any errors if, and only if, you have
multiple RemoteHosts set up in the RemoteHost property. The AspMail routine will only
attempt 1 retry in this case. If you only have one
host name setup then the problem will be found in #1) your calling SendMail more than once
or #2) you are not handling cases where the user does a double-click on his/her browser. |
With AspMail can I have "required
fields" on my HTML forms or other form processing functionality. Can AspMail change
the order I get form field data back? |
- Microsoft's ASP, not AspMail controls form data order. If
you are looping through the form data in ASP order it probably won't be the original form
order. You'll have to hard code field names to force the data back in a specific or
original form order.
- Required fields are a function of HTML and client side
scripting, not AspMail. If you used a CGI library in the past that handled those issues
for you, it what only because they delved into areas outside of SMTP/Mail. AspMail's only
function in life is to send mail. It does not handle client side HTML/scripting.
|
"Can someone use AspMail to send SPAM
through our system?" |
AspMail does not accept SMTP connections
and therefore cannot be used to relay SMTP traffic. AspMail can generate new SMTP message
traffic but only if you provide a script page to generate it. Therefore it is under the
Web operator's control. |
WebTrends is generating multiple messages
when its schedule runs. |
WebTrends is probably parsing your Web tree
and calling the HTML and ASP scripts to determine what they are. In the process the ASP
scripts you have that call AspMail may be getting called at the same time. Your options
are:
- You are going to have to configure WebTrends not to call
these scripts. - or -
- Modify your scripts so that if WebTrends is calling them
they don't fire off a message. - or -
- Contact WebTrends for another solution. AspMail can't
control WebTrends.
|
My component is registered. Should the
Expires property return a date? |
No. Registered versions return N/A for an
expiration date. The registration process (per the instructions you received) should be
run on the server. |
I'm mailing a large number of people. At
some point in the mailing it fails. Can you give me any tips? |
The first tip is to use the SMTPLog
property to write an SMTP log to disk and see what the point of failure is based on the
log. The SMTP server is probably rejecting your message for some reason and the cause is
typically determinable from the log. Secondly,
some SMTP servers only accept mail for locally known recipients. The SMTP server may be
rejecting your message since it is being addressed to recipients outside the domain of
that SMTP server. This is unusual but could possibly be the problem you are running into. |
Using the SMTPLog property I got an error
#132. How can I look up numeric errors returned by AspMail to find out what it means? |
TShoot under the file menu has a
Win32 error code lookup form. |
What are some of the issues that affect the
speed of the mailing? |
A small message should take 3-4 seconds to
send if the server is local and all other conditions are normal. The following list are
some items that can affect transfer speed.
- The slower the TCP connection the longer the mailing will
take. Typically a local server is much faster than a remote server. If you are losing
packets between your server and the SMTP server you can expect longer times due to this
packet loss.
- The size of the mailing. The larger the message the longer
the message transfer will take to send.
- CPU utilization: If your CPU is experiencing heavy usage
you can expect it to take longer to transfer mail.
- SMTP server utilization: If your SMTP server is
experiencing heavy traffic response times from the server are going to take longer thus
increasing the time it takes to send a message.
One thing we've found is that by changing the RemoteHost
name from a hostname to an IP address can cut 3 or 4 seconds off some messages. Even if
the RemoteHost name is set to the local server's name, we've found some messages waiting
for the hostname lookup. Just change the address to an IP and you may see an increase in
the speed. |
Is there a limit to the length of email
addresses. |
AspMail support longer email addresses than
anyone has so there are no practical limits. If your email is not being delivered see the
previous questions for pointers on how to troubleshoot mail failures. |
Does the 2 CPU license cover two servers or
two processors? |
In accordance with the license agreement,
the 2 CPU license would cover either 2 single CPU servers or 1 dual CPU server. With this
pricing model, AspMail is far more inexpensive than any "competing" products. |
AspMail Properties
Property |
Description |
BodyText |
The message body text. To clear the text
once you have set it use the ClearBodyText Method. Example:
Mailer.BodyText = "Your order for 15 widgets has
been processed" |
CharSet |
The character set. By default the char set
is US Ascii Valid values:
- 1 = US Ascii
- 2 = ISO-8859-1
Example:
Mailer.CharSet = 2 |
ConfirmRead |
The ConfirmReading flag. If this is set to
true AND the recipients email program supports this
feature (and it is enabled) the recipients email program will send a notice back to the
FromAddress confirming that this email has been read.
Example:
Mailer.ConfirmRead = true |
ContentType |
The ContentType property allows you to set the
ContentType header of the message's BodyText. If, for example, you wanted to send HTML as
the messages's body, you could set ContentType = "text/html" and EMail programs
that support HTML content could properly display the HTML text. Note: The ContentType property is ignored if you have file
attachments.
Example:
Mailer.ContentType = "text/html" |
CustomCharSet |
If you wish to use a character set besides the included
types you can set CustomCharSet to a character set string. Example:
Mailer.CustomCharSet = "ISO-2022" or
Mailer.CustomCharSet = "big5" |
DateTime |
AspMail will, by default, create a Date/Time header for
your local system using GMT. If you would like to override the date/time calculation set
the DateTime property to a valid date/time string in the format defined by RFC 822 &
RFC 1123. Example:
Mailer.DateTime = "Fri, 02 May 1997 10:53:49
-0500" |
Encoding |
The encoding type for attachments. The
default setting is MIME. Valid values:
Example:
Mailer.Encoding = 1 |
Expires |
If the component is an eval version the
expires property will return the date that the component quits functioning. Example:
Response.Write "Component Expires: " &
Mailer.Expires |
FromName |
The message originators name. Example:
Mailer.FromName = "Joes Widget Shop" |
FromAddress |
The message originators email
address. Example:
Mailer.FromAddress = "joe@widgets.com" |
IgnoreMalformedAddress |
Defaults to false. When false AspMail will check for '@'
in the email address for calls to AddRecipient, AddCC and AddBCC. An error would be
returned in the Response property. When this property is set to true AspMail will not
perform any address syntax validation. If you are using AspMail to send a message through
an SMS gateway or fax system you may need to set this property to true. |
IgnoreRecipientErrors |
Defaults to true. If true AspMail will ignore error
messages returned by the SMTP server for invalid addresses. This is useful when a mailing
is addressed to a number of recipients. |
Live |
Live allows you to test the component without an SMTP
server. If Live is set to false then the NET SEND message will be executed with the
FromName property being used as the recipient of the message. Only the subject is sent to
the recipient. Example:
Mailer.FromName = "ASPProgrammer"
Mailer.Live = false |
Organization |
Sets the Organization header in the message. Example:
Mailer.Organization = "Your Company Name" |
PGPPath |
The path where PGP is located. |
PGPParams |
Parameters that PGP will use to process
message. |
Priority |
Sets the message priority. Priorities are
1-5 and are reflected in the X-Priority Valid
values:
- 1 High
- 3 Normal
- 5 Low
Example:
Mailer.Priority = 1 |
RemoteHost |
The remote SMTP host that the message will
be sent through. This is typically an SMTP server located at your local ISP or it could be
an internal SMTP server on your companies premises. Up to 3 server addresses can be
specified, seperated by a semicolon. If the primary server is down the component will
attempt to send the mail using the seconary server and so on. Example:
Mailer.RemoteHost = "mailhost.myisp.net" or
Mailer.RemoteHost = "mailhost.myisp.net;
mailhost.myotherisp.net" |
ReplyTo |
The ReplyTo property allows you to specify a different
email address that replies should be sent to. By default mail programs should use the
Reply-To: header for responses if this header is specified. |
Response |
The Response property returns any error messages that
may occur. |
ReturnReceipt |
The ReturnReceipt flag. If this is set to
true AND the recipients SMTP server supports this
feature (and it is enabled) the recipients SMTP server will send a notice back to the
FromAddress confirming that this email has been delivered.
Example:
Mailer.ReturnReceipt = false |
SMTPLog |
If you need to debug the session give a log
file name here. Make sure the IUSR_XYZ IIS user has security that allows the component to
write to this file. Warning: Do not use this setting in situations where multiple users
can access this component at the same time. This is for single user debugging ONLY! Example:
Mailer.SMTPLog = "c:\smtplog.txt" |
Subject |
The message subject. Example:
Mailer.Subject = "Stock split announced!" |
SuppressMsgBody |
The SuppressMsgBody property is true by default and is
used in conjuction with the SMTPLog property. When SMTPLog is set to a file and
SuppressMsgBody is true the log file receives a copy of the message text. If
SuppressMsgBody is false the message text is not sent to the log. |
TimeOut |
Timeout is the maximum time that AspMail
should wait for a response from the remote server. The default is 30 seconds. Example:
Mailer.Timeout = 15 |
Urgent |
The urgent flag sets the X-Urgent header in
the outgoing message. Not all mail readers support this flag. Example:
Mailer.Urgent = true |
UseMSMailHeaders |
MS-Mail priority headers, by default, are
sent in addition to the standard SMTP priority headers. You can turn MS-Mail headers off
with this property Example:
Mailer.UseMSMailHeaders = false |
Version |
Gets the internal component version number. Example:
Response.Write "Component Version: " &
Mailer.Version |
WordWrap |
The WordWrap property is off by default. Setting
WordWrap to true causes the message body to wordwrap at the position specified by the
WordWrapLen property. |
WordWrapLen |
The WordWrapLen property is set to 70 by default. You
can modify the position that wordwrap occurs by changing this value. |
AspMail Component Methods
Method |
Parameters |
Return Value |
Description |
SendMail |
None |
True or False Example:
if Mailer.SendMail then
Response.Write "Mail sent..."
else
Response.Write "Mail failure. Check mail host server
name and tcp/ip connection..."
end if |
The SendMail method attempts to send the
email. |
AddRecipient |
Mailer.AddRecipient "Jay Jones",
"jayj@somehost.net" |
True/False based upon success or failure. |
Adds a new recipient, as shown in the
message's To: list. |
ClearRecipients |
None |
None |
Clears any recipients assigned to the To list. |
AddCC |
Mailer.AddCC "Jay Jones",
"jayj@somehost.net" |
True/False based upon success or failure. |
Adds a new recipient, as shown in the message's CC
list. |
ClearCCs |
None |
None |
Clears any recipients assigned to the CC list. |
AddBCC |
Mailer.AddBCC "Jay Jones",
"jayj@somehost.net" |
True/False based upon success or failure. |
Adds a new Blind Carbon Copy recipient. BCC
recipients are not shown in any message recipient list. |
ClearBCCs |
None |
None |
Clears any recipients assigned to the BCC list. |
ClearAllRecipients |
None |
None |
Clears all recipients assigned to the To,
CC and BCC lists. |
AddAttachment |
Filename to attach to message. Example:
Mailer.AddAttachment "d:\shipping\proddsk1.zip" |
N/A |
Adds attachments to current mailing. You
must use an explicit path to attach files. Make
sure that the IUSR_XYZ IIS user, or the authenticated user has security rights that allow
the component to read the necessary files! Note: Attachments may not be supported in some
eval versions. |
ClearAttachments |
None |
None |
Clears any attachments that were previously set. Example:
Mailer.ClearAttachments |
ClearBodyText |
None |
None |
Clears any text assigned to the
messages body which may have been set previously by using the BodyText
property. |
ClearExtraHeaders |
None |
None |
Clears any X-Headers that were set by use
of AddExtraHeader. |
AddExtraHeader |
A string value that forms a proper SMTP
X-Header Example:
Mailer.AddExtraHeader
("X-HeaderName: XHdrValue") |
True or false. Returns true if X-Header was
added. |
Adds extra X-Headers to the mail envelope. |
GetBodyTextFromFile |
See pgpmail.asp for more information. |
See pgpmail.asp for more information. |
Loads message's body text from a file.
Optionally runs PGP on the message text. See
pgpmail.asp for more information. |
EncodeHeader |
strValue |
strValue encoded as String |
Encodes a string in RFC1522 format to
provide support for 8bit mail headers such as 8bit subject headers. Example:
Mailer.Subject = Mailer.EncodeHeader("Résponse de
Service à la clientèle") |
GetTempPath |
N/A |
strPath |
Returns the path set up by the OS for
temporary mail files. See the discussion on TMP env variables for
more information. |
|