Avatar of HalCHub
HalCHub
Flag for United States of America asked on

system.net.mail requires starttls

how to I fix I get an error that it requires a starttls
Imports System.Net.Mail
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try

            Dim SmtpServer As New SmtpClient()
            Dim mail As New MailMessage()
            SmtpServer.Credentials = New Net.NetworkCredential("me@gmail.com", "password")
            SmtpServer.Port = 587
            SmtpServer.Host = "smtp.gmail.com"
            mail = New MailMessage()
            mail.From = New MailAddress("me@gmail.com", "my name")
            mail.To.Add("me@hotmail.com")
            mail.Subject = "Test Mail"
            mail.Body = "This Is for testing SMTP mail from GMAIL"
            SmtpServer.Send(mail)
            MsgBox("mail send")
        Catch ex As Exception
            MsgBox(ex.ToString)
        End Try
    End Sub
End Class
.NET ProgrammingVisual Basic.NET

Avatar of undefined
Last Comment
Rafiq J

8/22/2022 - Mon
Michael Fowler

try setting enableSSL to true

SmtpServer.EnableSsl = true;

Open in new window

https://msdn.microsoft.com/en-us/library/system.net.mail.smtpclient.enablessl.aspx
HalCHub

ASKER
nope here is a different version

    Private Sub test(Optional ByVal smtp As String = "smtp.gmail.com")
        Dim toAdd As String = " test@gmail.com"
        Dim fromAdd As String = "test@gmail.com"
        Dim pass As String = "pswd"
        Dim client As SmtpClient = New SmtpClient(smtp)
        Dim mail As New MailMessage
        mail.From = New MailAddress(fromAdd)
        mail.To.Add(toAdd)
        mail.Subject = "Test Zip File"
        mail.Body = "This Is just a test"
        client.Port = 465 '465 587  25
        client.Credentials = New System.Net.NetworkCredential(fromAdd, pass)
        client.EnableSsl = True
        MsgBox("here")
        '   client.Timeout = Int32.MaxValue
        Try
            client.Send(mail)

        Catch ex As SmtpException
            MsgBox(ex.Message)
        End Try
        MsgBox("done")
    End Sub

port 465 times out
port 25 gives a starttls error
port 587 give required secure connection
Michael Fowler

Your code looks fine, assuming you are using a valid email/user/pass in your actual code.

This google support article has more ideas for testing
https://support.google.com/mail/answer/78775?hl=en

The first is to confirm that you can log into the account you are using manually and so validate your credentials

Another good test is telnet to confirm that a connection can be made from your machine
eg telnet smtp.gmail.com 587
All of life is about relationships, and EE has made a viirtual community a real community. It lifts everyone's boat
William Peck
Rafiq J

<network host="smtp.gmail.com" enableSsl="true" ... />
Rafiq J

ASKER CERTIFIED SOLUTION
Rafiq J

THIS SOLUTION ONLY AVAILABLE TO MEMBERS.
View this solution by signing up for a free trial.
Members can start a 7-Day free trial and enjoy unlimited access to the platform.
See Pricing Options
Start Free Trial
GET A PERSONALIZED SOLUTION
Ask your own question & get feedback from real experts
Find out why thousands trust the EE community with their toughest problems.