Jump to content

Erro em formato mail


veaoum

Recommended Posts

Bem o que se passa é o seguinte Tenho numa textbox a seguinte informação:

  1. Nº prog
  2. Nº func
  3. Nome
  4. Email
  5. data instalação

cada dado em cada linha, depois tenho uma variável que armazena através do split cada um destes dados, mas quando vou para enviar um mail ele lê bem o email mas dá-me erro, diz "system.formatException: A cadeia especificada não tem o formato necessário para um endereço de correio electrónico."

Link to comment
Share on other sites

Não, o split separa uma string para um array de strings.

str = "Portugal#a#Programar"
strArr = str.Split("#");
For count = 0 To strArr.Length - 1
MsgBox(strArr(count))
Next

Terás na posição 0 Portugal, 1 a, 2 Programar.

Edited by NunoDinis

Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Link to comment
Share on other sites

Aqui está o código da função.

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
	Dim aux As New geradorchavesDataSetTableAdapters.chavesTableAdapter
	Dim aux1 As New geradorchavesDataSetTableAdapters.dadosTableAdapter
	Dim dados() As String = txtverifica.Text.Split(Environment.NewLine)
	Dim cod As Integer = CInt(dados(0))
	Dim chave As String = ""
	Dim testa As Integer = 0
	Try
		If CInt(aux1.existe(cod)) > 0 Then
			If dados(1) <> aux1.Nfunc(cod) Then
				testa += 1
			End If
			If dados(2) <> aux1.Nnome(cod) Then
				testa += 1
			End If
			If dados(13) <> aux1.Nprocessador(cod) Then
				testa += 1
			End If
			If dados(14) <> aux1.Nmacadres(cod) Then
				testa += 1
			End If
			If dados(15) <> aux1.Nvolum(cod) Then
				testa += 1
			End If
		Else
			aux1.Insert(dados(0), dados(1), dados(2), dados(4), dados(5), dados(6), dados(7), dados(3), String.Empty, dados(8), dados(9), dados(10), dados(11), String.Empty, dados(12), dados(13), dados(14), dados(15))
		End If
	Catch ex As Exception
		aux1.Insert(dados(0), dados(1), dados(2), dados(4), dados(5), dados(6), dados(7), dados(3), String.Empty, dados(8), dados(9), dados(10), dados(11), String.Empty, dados(12), dados(13), dados(14), dados(15))
	End Try
	If testa < 3 Then
		chave = gerachave(dados(16), aux.desbloqueia(cod), aux.bloqueia(cod), cod)
	Else
		chave = gerachave(dados(16), aux.desbloqueia(cod), aux.bloqueia(cod))
	End If
	Dim correo As New System.Net.Mail.MailMessage
	Dim smtp As New System.Net.Mail.SmtpClient
	correo.From = New MailAddress("geral.activacao@gmail.com", "Vencimento programa")
	Try
		correo.To.Add(daddos(7))
	Catch ex As Exception
		MsgBox("Email errado: " & a & Environment.NewLine & ex.ToString)
		Exit Sub
	End Try
	correo.Subject = "Chave para programa"
	correo.Body = "<html><body><pre><font size=3 color=BLUE> Tem aqui a sua chave <p> " & chave & "</font></pre></body></html>"
	correo.IsBodyHtml = True
	correo.Priority = System.Net.Mail.MailPriority.Normal
	smtp.Host = "smtp.gmail.com"
	smtp.Credentials = New System.Net.NetworkCredential(mail, Pass)
	smtp.Port = 587
	smtp.EnableSsl = True
	Try
		smtp.Send(correo)
	Catch ex As Exception
		MsgBox("Falha no envio")
	End Try
End Sub

Ele corre bem e faz tudo direito até até a parte do

	Try
		correo.To.Add(daddos(7))
	Catch ex As Exception
		MsgBox("Email errado: " & dados(7) & Environment.NewLine & ex.ToString)
		Exit Sub

em que diz que o dados(7) não é um email valido mas na msgbox eu vejo que é um email.

Link to comment
Share on other sites

Try
  correo.To.Add(daddos("um email correto"))
Catch ex As Exception
  MsgBox("Email errado: " & a & Environment.NewLine & ex.ToString)
Exit Sub
End Try

Põe um email para vermos o que ele diz...

Edited by NunoDinis

Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro.

ndsotware.org

Link to comment
Share on other sites

Novo teste que eu fiz, Criei uma textbox e o objectivo era colocar la o email e depois ir busca-lo a textbox quando necessita-se. O resultado é:

  1. Se for por código:
    txtemail.text=dados(7)
    

    não funciona, dá-me erro.

  2. Se antes de correr a função eu fizer copy/paste do email para o txtemail já funciona.

Como é que isto é possível.

Então isso leva-me a querer que o daddos(7) não é um email ou não é um email correto.

Faz msgbox(daddos(7)). O que retorna ??

"veaoum@gmail.com"

o mail corecto.

Edited by veaoum
Link to comment
Share on other sites

  • 2 weeks later...

eu tenho um cidigo parecido, mas ele faz 1ºum pdf e depois envia, mas tive de alterar estas linhas

smtp.Port = 587 ----> esta apaguei

smtp.EnableSsl = True ----> esta passou a ser = False

e está a funcionar bem ...

  •  😵😴🥵🥴  No Desenvolvimento as Possibilidades são Infinitas  😵😴🥵🥴 , podemos é ficar doidos ...
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.