title: Sending email using Gmail gives a time out error
body: <p>We are testing some code to send email messages using Gmail from a form, but get a time out error.</p>
  
  <p>Can you tell us what is missing from this code to get the email message sent?</p>
  
  <pre><code>    Try
          Dim SmtpServer As New SmtpClient()
          Dim mail As New MailMessage()
  
          SmtpServer.EnableSsl = True
          SmtpServer.Credentials = New Net.NetworkCredential("ouremail@gmail.com", "MyPasswordGoesHere")
          SmtpServer.Port = 465
          SmtpServer.Host = "smtp.gmail.com"
  
          mail.From = New MailAddress("ouremail@gmail.com")
          mail.To.Add("ouremail@gmail.com")
          mail.Subject = "Test Mail"
          mail.Body = "This is for testing SMTP mail from GMAIL"
  
          SmtpServer.Send(mail)
  
          MsgBox("mail sent")
  
      Catch ex As Exception
          MsgBox(ex.ToString)
      End Try
  </code></pre>
  
  <p>Update:
  Code change using MailBee. This is how we are doing emails to all the customers:</p>
  
  <pre><code>    Dim strSqlStatement As String = "Select CustomerName, Email " &amp; _
                                 "From Customers " &amp; _
                                "Where Email Is Not Null"
      If IsConnected() Then
  
          ' Set up the sql command and lookup the parent.
          '----------------------------------------------
          Using objSqlCommand As SqlCommand = New SqlCommand(strSqlStatement, ObjConnection)
  
              With objSqlCommand
  
                  ' Open the SqlConnection before executing the query.
                  '---------------------------------------------------
                  Cursor = Cursors.WaitCursor
  
                  ObjConnection.Open()
  
                  Dim objDataReader As SqlDataReader = .ExecuteReader()
  
                  ' Go through all the customers and send out the promotion emails.
                  '----------------------------------------------------------------
                  If objDataReader.HasRows Then
  
                      MailBee.Global.LicenseKey = "My license key goes here."
  
                      Dim objSMTP As New Smtp
                      Dim server As New SmtpServer(TextBoxSMTPServer.Text, TextBoxUserName.Text, TextBoxPassword.Text)
  
                      'SmtpServer.Host = TextBoxSMTPServer.Text
                      'SmtpServer.Port = TextBoxPort.Text
                      'SmtpServer.Timeout = 100
  
                      'If TextBoxUseSSL.Text = "Yes" Then
                      '    SmtpServer.EnableSsl = True
                      'Else
                      '    SmtpServer.EnableSsl = False
                      'End If
  
                      'If TextBoxUseDefaultCredentials.Text = "Yes" Then
                      '    SmtpServer.UseDefaultCredentials = True
                      'Else
                      '    SmtpServer.UseDefaultCredentials = False
                      'End If
  
                      'SmtpServer.Credentials = New Net.NetworkCredential(TextBoxUserName.Text, TextBoxPassword.Text)
  
  
                      objSMTP.SmtpServers.Clear()
                      objSMTP.SmtpServers.Add(server)
  
                      While objDataReader.Read()
                          If objDataReader("Email").ToString &lt;&gt; "" Then
  
                              objSMTP.Message.From.AsString = TextBoxEmailFrom.Text
                              objSMTP.Message.To.AsString = objDataReader("Email").ToString
                              objSMTP.Message.Subject = "Promotion: " &amp; TextBoxID.Text
                              objSMTP.Message.BodyPlainText = "Dear " &amp; objDataReader("CustomerName") &amp; "," &amp; vbCrLf &amp; vbCrLf &amp; TextBoxPromotionBodyText.Text
  
                              Try
                                  objSMTP.Send()
  
                              Catch exBadPassword As MailBeeSmtpLoginBadCredentialsException
                                  MsgBox("The login name or password is not correct.", MsgBoxStyle.Exclamation, "Email")
                                  blnThereWereErrors = True
  
                              Catch exBadFromAddress As MailBeeSmtpRefusedSenderException
                                  MsgBox("The sender email must be the same as the user's email address.", MsgBoxStyle.Exclamation, "Email")
                                  blnThereWereErrors = True
  
                              Catch ex As Exception
                                  MsgBox(ex.Message)
                                  blnThereWereErrors = True
                              End Try
                          End If
  
                          If blnThereWereErrors Then
                              Exit While
                          End If
                      End While
  
                      If blnThereWereErrors = False Then
                          MessageBox.Show("Mass emailing has completed." &amp; vbCrLf, _
                                  "Email Message.", _
                                  MessageBoxButtons.OK, _
                                  MessageBoxIcon.Information)
                      End If
                  End If
  
                  objDataReader.Close()
                  ObjConnection.Close()
  
                  Cursor = Cursors.Default
              End With ' objSqlCommand
          End Using ' objSqlCommand
  </code></pre>