VB.NET Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

VB.NET Examples

Bounced Mail
Bz2
Character Encoding
CSV
Digital Certificates
Digital Signatures
Email
FTP
HTML Conversion
HTTP
IMAP
Encryption
MHT / HTML Email
POP3
PFX
RSA
S/MIME
SMTP
Socket
Spider
SSH
SSH Tunnel
SSH Key
SFTP
Tar Archive
Upload
XML
XMP
Zip Compression
Misc

More Examples...
Amazon S3
Email Object
DKIM / DomainKey
NTLM
FileAccess
RSS
Atom
Self-Extractor
Service
PPMD
Deflate
DH Key Exchange
DSA
Bzip2
LZW

Byte Array
VB.NET FTPS
System.IO

 

 

 

 

 

 

Send Email without Mail Server

Download Chilkat .NET for 4.0 Framework

Download Chilkat .NET for 64-bit 4.0 Framework (x64)

Download Chilkat .NET for 2.0 / 3.5 Framework

Download Chilkat .NET for 64-bit 2.0 / 3.5 Framework (x64)

Download Chilkat .NET for 1.0 / 1.1 Framework

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

'  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.
Dim mailman As New Chilkat.MailMan()

'  Any string argument automatically begins the 30-day trial.
Dim success As Boolean
success = mailman.UnlockComponent("30-day trial")
If (success <> true) Then
    MsgBox("Component unlock failed")
    Exit Sub
End If


Dim recipient As String
recipient = "admin@chilkatsoft.com"

'  Do a DNS MX lookup for the recipient's mail server.
Dim smtpHostname As String
smtpHostname = mailman.MxLookup(recipient)
If (smtpHostname Is Nothing ) Then
    MsgBox(mailman.LastErrorText)
    Exit Sub
End If


TextBox1.Text = TextBox1.Text & smtpHostname & vbCrLf
TextBox1.Refresh()

'  Set the SMTP server.
mailman.SmtpHost = smtpHostname


'  Create a new email object
Dim email As New Chilkat.Email()

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 <> true) Then
    MsgBox(mailman.LastErrorText)
Else
    MsgBox("Mail Sent!")
End If

 

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

Mail Component · XML Parser