Boa tarde a todos. Estou com a seguinte questão com o código abaixo para envio de email via CDO:
Quando faço o envio com arquivo em anexo funciona perfeitamente, no entanto, quando faço o envio sem nenhum arquivo anexo, aparece a seguinte mensagem de erro: -2146697203 unknown error; e não envia a mensagem. Alguém pode ajudar ?
'BOTÃO DE COMANDO - Evento 'Ao Clicar"
Private Sub ViaServidor_Click()
Call EnviarEmail
End Sub
Function EnviarEmail()
On Error GoTo erromail
Dim Mens As CDO.message
Dim Config As CDO.Configuration
Set Config = New CDO.Configuration
With Config
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mp.pe.gov.br" 'Seu servidor de e-mail
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 'Porta usada pelo seu servidor de e-mail
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "ouvidor@mp.pe.gov.br" 'User do servidor
.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mporelha" 'Coloque a senha do seu email
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Fields.Update
End With
Set Mens = New CDO.message
With Mens
Set .Configuration = Config
.From = "OUVIDOR" 'quem envia
If Not IsNull(Me.Remetente) Then
.Sender = Me.Remetente 'email de quem envia = txtDeMail
End If
If Not IsNull(Me.txtCOculta) Then
.BCC = Me.txtCOculta
End If
.Subject = Me.Assunto 'caixa texto assunto = txtAssunto
.TextBody = Me.Mensagem 'Caixa texto com o texto = txtMensagem"
If Not IsNull(Me.Destinatarios) Then
.To = Me.Destinatarios 'caixa texto para quem vai o email = txtPara"
End If
If Not IsNull(Me.RotaArquivo) Then
.AddAttachment (Me.RotaArquivo) 'caixa texto para anexação
End If
.Send ' Envia
End With
MsgBox "Mensagem enviada com sucesso !!"
Set Mens = Nothing
Set Config = Nothing
Exit Function
erromail:
MsgBox Err.Number & " " & Err.Description
Set Mens = Nothing
Set Config = Nothing
Exit Function
End Function
Quando faço o envio com arquivo em anexo funciona perfeitamente, no entanto, quando faço o envio sem nenhum arquivo anexo, aparece a seguinte mensagem de erro: -2146697203 unknown error; e não envia a mensagem. Alguém pode ajudar ?
'BOTÃO DE COMANDO - Evento 'Ao Clicar"
Private Sub ViaServidor_Click()
Call EnviarEmail
End Sub
Function EnviarEmail()
On Error GoTo erromail
Dim Mens As CDO.message
Dim Config As CDO.Configuration
Set Config = New CDO.Configuration
With Config
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.mp.pe.gov.br" 'Seu servidor de e-mail
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25 'Porta usada pelo seu servidor de e-mail
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = 1
.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername") = "ouvidor@mp.pe.gov.br" 'User do servidor
.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") = "mporelha" 'Coloque a senha do seu email
.Fields("http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout") = 60
.Fields.Update
End With
Set Mens = New CDO.message
With Mens
Set .Configuration = Config
.From = "OUVIDOR" 'quem envia
If Not IsNull(Me.Remetente) Then
.Sender = Me.Remetente 'email de quem envia = txtDeMail
End If
If Not IsNull(Me.txtCOculta) Then
.BCC = Me.txtCOculta
End If
.Subject = Me.Assunto 'caixa texto assunto = txtAssunto
.TextBody = Me.Mensagem 'Caixa texto com o texto = txtMensagem"
If Not IsNull(Me.Destinatarios) Then
.To = Me.Destinatarios 'caixa texto para quem vai o email = txtPara"
End If
If Not IsNull(Me.RotaArquivo) Then
.AddAttachment (Me.RotaArquivo) 'caixa texto para anexação
End If
.Send ' Envia
End With
MsgBox "Mensagem enviada com sucesso !!"
Set Mens = Nothing
Set Config = Nothing
Exit Function
erromail:
MsgBox Err.Number & " " & Err.Description
Set Mens = Nothing
Set Config = Nothing
Exit Function
End Function