Saturday, 14 September 2013

VB.Net Send Email

VB.Net allows sending E-mails from your application. The System.Net.Mail namespace contains classes used for sending emails to a Simple Mail Transfer Protocol (SMTP) server for delivery.
The following table lists some of these commonly used classes:
S.NClassDescription
1AttachmentRepresents an attachment to an e-mail.
2AttachmentCollectionStores attachments to be sent as part of an e-mail message.
3MailAddressRepresents the address of an electronic mail sender or recipient.
4MailAddressCollectionStore e-mail addresses that are associated with an e-mail message.
5MailMessageRepresents an e-mail message that can be sent using the SmtpClient class.
6SmtpClientAllows applications to send e-mail by using the Simple Mail Transfer Protocol (SMTP).
7SmtpExceptionRepresents the exception that is thrown when the SmtpClient is not able to complete a Send or SendAsync operation.

The SmtpClient Class

The SmtpClient class allows applications to send e-mail by using the Simple Mail Transfer Protocol (SMTP).
Following are some commonly used properties of the SmtpClient class:
S.NPropertyDescription
1ClientCertificatesSpecify which certificates should be used to establish the Secure Sockets Layer (SSL) connection.
2CredentialsGets or sets the credentials used to authenticate the sender.
3EnableSslSpecify whether the SmtpClient uses Secure Sockets Layer (SSL) to encrypt the connection.
4HostGets or sets the name or IP address of the host used for SMTP transactions..
5PortGets or sets the port used for SMTP transactions.
6TimeoutGets or sets a value that specifies the amount of time after which a synchronous Send call times out.
7UseDefaultCredentialsGets or sets a Boolean value that controls whether the DefaultCredentials are sent with requests.
Following are some commonly used methods of the SmtpClient class:
S.NMethod & Description
1Dispose
Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, and releases all resources used by the current instance of the SmtpClient class.
2Dispose(Boolean)
Sends a QUIT message to the SMTP server, gracefully ends the TCP connection, releases all resources used by the current instance of the SmtpClient class, and optionally disposes of the managed resources.
3OnSendCompleted
Raises the SendCompleted event.
4Send(MailMessage)
Sends the specified message to an SMTP server for delivery.
5Send(String, String, String, String)
Sends the specified e-mail message to an SMTP server for delivery. The message sender, recipients, subject, and message body are specified using String objects.
6SendAsync(MailMessage, Object)
Sends the specified e-mail message to an SMTP server for delivery. This method does not block the calling thread and allows the caller to pass an object to the method that is invoked when the operation completes.
7SendAsync(String, String, String, String, Object)
Sends an e-mail message to an SMTP server for delivery. The message sender, recipients, subject, and message body are specified using String objects. This method does not block the calling thread and allows the caller to pass an object to the method that is invoked when the operation completes.
8SendAsyncCancel
Cancels an asynchronous operation to send an e-mail message.
9SendMailAsync(MailMessage)
Sends the specified message to an SMTP server for delivery as an asynchronous operation.
10SendMailAsync(String, String, String, String)
Sends the specified message to an SMTP server for delivery as an asynchronous operation. . The message sender, recipients, subject, and message body are specified using String objects.
11ToString
Returns a string that represents the current object.
The following example demonstrates how to send mail using the SmtpClient class. Following points are to be noted in this respect:
  • You must specify the SMTP host server that you use to send e-mail. The Host and Portproperties will be different for different host server. We will be using gmail server.
  • You need to give the Credentials for authentication, if required by the SMTP server.
  • You should also provide the email address of the sender and the e-mail address or addresses of the recipients using the MailMessage.From and MailMessage.To properties respectively.
  • You should also specify the message content using the MailMessage.Body property.

Example

In this example, let us create a simple application that would send an email. Take the following steps:
  1. Add three labels, three text boxes and a button control in the form.
  2. Change the text properties of the labels to - 'From', 'To:' and 'Message:' respectively.
  3. Change the name properties of the texts to txtFrom, txtTo and txtMessage respectively.
  4. Change the text property of the button control to 'Send'
  5. Add the following code in the code editor.
Imports System.Net.MailPublic Class Form1
   Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
      ' Set the caption bar text of the form.   
      Me.Text = "tutorialspoint.com"
   End Sub

   Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
      Try
          Dim Smtp_Server As New SmtpClient
          Dim e_mail As New MailMessage()
          Smtp_Server.UseDefaultCredentials = False
          Smtp_Server.Credentials = New Net.NetworkCredential("username@gmail.com", "password")
          Smtp_Server.Port = 587
          Smtp_Server.EnableSsl = True
          Smtp_Server.Host = "smtp.gmail.com"

          e_mail = New MailMessage()
          e_mail.From = New MailAddress(txtFrom.Text)
          e_mail.To.Add(txtTo.Text)
          e_mail.Subject = "Email Sending"
          e_mail.IsBodyHtml = False
          e_mail.Body = txtMessage.Text
          Smtp_Server.Send(e_mail)
          MsgBox("Mail Sent")

      Catch error_t As Exception
          MsgBox(error_t.ToString)
      End Try

   End Sub
You must provide your gmail address and real password for credentials.
When the above code is executed and run using Start button available at the Microsoft Visual Studio tool bar, it will show following window which you will use to send your emails, try it yourself.
Sending Email from VB.Net

No comments:

Post a Comment