ASP Examples

ChilkatHOMEASPVisual BasicVB.NETC#Visual C++CMFCDelphiFoxProJavaPerlPHPPythonRubySQL ServerVBScript

ASP Examples

ASP String
ASP Byte Array
Bounced Mail
Character Encoding
Digital Certificates
Digital Signatures
Email
FTP
HTML-to-XML
HTTP
IMAP
Encryption
MHT / HTML Email
S/MIME
Socket
Spider
RSA Encryption
Tar
ASP Upload
XML
XMP
Zip Compression

More Examples...
Email Object
POP3
SMTP
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
SSH Key
SSH
SSH Tunnel
SFTP

Unreleased...
FileAccess
Bzip2
LZW
Bz2
Icon

 

 

 

 

 

 

Send Email without Mail Server

How to send an email without a mail server (so-to-speak).

Download Chilkat Email ActiveX for POP3 / SMTP

Download Chilkat IMAP ActiveX

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<%

'  Is it really possible to send email without connecting to
'  a mail server?  Not really.

'  When people ask 'Do you support sending email without
'  a mail server'?  what they're really asking is: 'I don't
'  have an SMTP server, and I want to send email.  I see
'  other components available where it's not necessary
'  to specify an SMTP server.  Does your component have that
'  ability?'  In short, the answer is Yes.  But you need
'  to understand some things before you jump in...

'  Here's what happens inside those other components
'  that claim to not need a mail server:  The component does
'  a DNS MX lookup using the intended recipient's email address
'  to find the mail server (i.e. SMTP server) for that
'  domain.  It then connects to that server and delivers the
'  email.  You're still connecting to an SMTP server -- just
'  not YOUR server.

'  Chilkat provides an MxLookup method where you can lookup
'  the SMTP hostname that services any given email address.
'  You would then assign the SmtpHost property to this value.
'  Chilkat can then connect directly to the recipient's mail
'  server and deliver the email.

'  There are a few gotcha's though...

'  First, if you're writing an application that is widely
'  distributed, your app might be running within a network
'  that blocks outgoing connections to the SMTP port.
'  Earthlink, for example, is one major ISP that does this.
'  When you are connected to the Internet via Earthlink,
'  your apps can *only* connect to Earthlink's SMTP server
'  and will not be able to reach any remote servers.  To send
'  email, you must use Earthlink's SMTP as a relay.  This is
'  common with ISPs.  So... if your application is coded
'  as in this example, it will not work within those networks.
' 
'  Second, some SMTP servers will reject unauthenticated
'  sessions attempting to send email from dynamic IP addresses.
'  You may see this error in your LastErrorText:
'  553-Your attempt to send email to us has been blocked
'  553-because your email server is not currently on that domain's Accepted
'  553-Senders list. To request addition to their Accepted Senders list,
'  553-please navigate with a Web browser to the following URL:
'  553-http://reportrbl.gate2service.com/Whitelist/?IPAddress=67.173.123.150
'  553 See http://www.dnsbl.us.sorbs.net/ (dul)

'  In a nutshell, just because you were able to do the MxLookup
'  and connect to the recipient's mail server, doesn't mean
'  you'll be able to send email -- it depends on the IP address
'  from which you're connecting.

'  Finally, the DNS lookup is potentially time consuming.
'  In addition, you cannot use somebody else's email server
'  as a relay, so if you're connecting to smtp.xyz.com, you
'  can only send email to email addresses at xyz.com.
'  To send email to 3 recipients at different domains means
'  making 3 separate connections to 3 separate SMTP servers
'  to send the email one at a time.

'  The mailman object is used for sending and receiving email.
set mailman = Server.CreateObject("Chilkat.MailMan2")

'  Any string argument automatically begins the 30-day trial.
success = mailman.UnlockComponent("30-day trial")
If (success <> 1) Then
    Response.Write Server.HtmlEncode("Component unlock failed") & "<br>"

End If

recipient = "admin@chilkatsoft.com"

'  Do a DNS MX lookup for the recipient's mail server.

smtpHostname = mailman.MxLookup(recipient)
If (smtpHostname = vbNullString ) Then
    Response.Write Server.HtmlEncode(mailman.LastErrorText) & "<br>"

End If

Response.Write Server.HtmlEncode(smtpHostname) & "<br>"

'  Set the SMTP server.
mailman.SmtpHost = smtpHostname

'  Create a new email object
set email = Server.CreateObject("Chilkat.Email2")

email.Subject = "This is a test"
email.Body = "This is a test"
email.From = "Chilkat Support <support@chilkatsoft.com>"
email.AddTo "",recipient

success = mailman.SendEmail(email)
If (success <> 1) Then
    Response.Write Server.HtmlEncode(mailman.LastErrorText) & "<br>"
Else
    Response.Write Server.HtmlEncode("Mail Sent!") & "<br>"
End If

%>
</body>
</html>

 

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2008 Chilkat Software, Inc. All Rights Reserved.