FONTE NFE VB.NET
Olá Pessoal Boa Tarde!
Estou com problemas para enviar em produção, em homologação eu consegui enviar, retornou o numero de protocolo, mas em produção quando eu envio não retorna nada, o código e o que foi postado nesse site.
tem algum prazo depois do credenciamento para emitir em produção?
Estou com problemas para enviar em produção, em homologação eu consegui enviar, retornou o numero de protocolo, mas em produção quando eu envio não retorna nada, o código e o que foi postado nesse site.
tem algum prazo depois do credenciamento para emitir em produção?
já resolvi.
Citação::
já resolvi.
VAGUINER,
Posta qual foi a solução.
Obrigado.
Integratios
Então Integratios, o erro estava no retorno da consulta e no tempo de retorno que é mais demorado no ambiente de produçao. na consulta era a tag amb que estava definida em 2, coloquei um variavel e resolveu, e no retorno eu aumentei o timer do retorno da consulta.
Agora estou com problemas no cancelamento por evento e carta de correção, está retornando o erro:
Rejeição: versão dos dados e superior a versão vigente, pelo que pesquisei o erro está na criação do xml, está faltando essas 2 tags : <envEvento xmlns=[Ô]http://www.portalfiscal.inf.br/nfe[Ô] versao=[Ô]1.00[Ô]>
<idLote>00000002311801</idLote> tentei colocar mas retorna erro, tentei criar a xml por string mas retorna erro na tag <dhEvento> sê alguem poder me ajudar eu agradeço.
Agora estou com problemas no cancelamento por evento e carta de correção, está retornando o erro:
Rejeição: versão dos dados e superior a versão vigente, pelo que pesquisei o erro está na criação do xml, está faltando essas 2 tags : <envEvento xmlns=[Ô]http://www.portalfiscal.inf.br/nfe[Ô] versao=[Ô]1.00[Ô]>
<idLote>00000002311801</idLote> tentei colocar mas retorna erro, tentei criar a xml por string mas retorna erro na tag <dhEvento> sê alguem poder me ajudar eu agradeço.
Boa tarde!
Andei olhando esses fontes da NFe que foi desenvolvido pelos colegas, e verifique que não tem a função de gerar o pdf e enviar por e-mail, alguém está desenvolvendo ou precisa de colaboração para desenvolver?
Obrigado.
Andei olhando esses fontes da NFe que foi desenvolvido pelos colegas, e verifique que não tem a função de gerar o pdf e enviar por e-mail, alguém está desenvolvendo ou precisa de colaboração para desenvolver?
Obrigado.
VAGUINER segue trecho do código onde gero o cancelamento por evento, o código esta escrito em vb6.
MyBuffer = [Ô]<evento xmlns=[Ô] & Chr(34) & [Ô]http://www.portalfiscal.inf.br/nfe[Ô] & Chr(34) & [Ô] versao=[Ô] & Chr(34) & [Ô]1.00[Ô] & Chr(34) & [Ô]>[Ô]
[ô] DT. 05/11/13 enquanto vigorar o horario de verao a tag do dhEvento tem que ser [Ô]-02:00[Ô]
[ô] qdo cessar o horario de verao voltar a tag para [Ô]-03:00[Ô]
[ô] se nao fizer isso a sefaz recusa o evento dizendo que a data do evento nao pode ser maior que a data do processamento.
MyBuffer = MyBuffer & [Ô]<infEvento Id=[Ô] & Chr(34) & [Ô]ID[Ô] & IdTagCancelamento & Chr(34) & [Ô]>[Ô] & _
[Ô]<cOrgao>35</cOrgao>[Ô] & _
[Ô]<tpAmb>[Ô] & AmbienteNfe & [Ô]</tpAmb>[Ô] & _
[Ô]<CNPJ>99999999999999</CNPJ>[Ô] & _
[Ô]<chNFe>[Ô] & ChaveAcesso & [Ô]</chNFe>[Ô] & _
[Ô]<dhEvento>[Ô] & Format(Now(), [Ô]yyyy-mm-ddThh:mm:ss[Ô]) & [Ô]-02:00[Ô] & [Ô]</dhEvento>[Ô] & _
[Ô]<tpEvento>110111</tpEvento>[Ô] & _
[Ô]<nSeqEvento>1</nSeqEvento>[Ô] & _
[Ô]<verEvento>1.00</verEvento>[Ô] & _
[Ô]<detEvento versao=[Ô] & Chr(34) & [Ô]1.00[Ô] & Chr(34) & [Ô]>[Ô] & _
[Ô]<descEvento>Cancelamento</descEvento>[Ô] & _
[Ô]<nProt>[Ô] & Protocolo & [Ô]</nProt>[Ô] & _
[Ô]<xJust>[Ô] & MotivoCancelamento & [Ô]</xJust>[Ô] & _
[Ô]</detEvento>[Ô] & _
[Ô]</infEvento>[Ô]
MyBuffer = MyBuffer & [Ô]</evento>[Ô]
após criar o xml acima, no vb.net eu coloco ele dentro do lote, para posteriormente assinar e transmitir.
LoteXml = [Ô]<?xml version=[Ô] & Chr(34) & [Ô]1.0[Ô] & Chr(34) & [Ô] encoding=[Ô] & Chr(34) & [Ô]UTF-8[Ô] & Chr(34) & _
[Ô] standalone=[Ô] & Chr(34) & [Ô]no[Ô] & Chr(34) & _
[Ô]?><envEvento xmlns=[Ô] & Chr(34) & [Ô]http://www.portalfiscal.inf.br/nfe[Ô] & Chr(34) & _
[Ô] versao=[Ô] & Chr(34) & [Ô]1.00[Ô] & Chr(34) & [Ô]><idLote>[Ô] & sacLote(cArq) & [Ô]</idLote>[Ô] & myBuffer & [Ô]</envEvento>[Ô]
qualquer dúvida estamos ai.
MyBuffer = [Ô]<evento xmlns=[Ô] & Chr(34) & [Ô]http://www.portalfiscal.inf.br/nfe[Ô] & Chr(34) & [Ô] versao=[Ô] & Chr(34) & [Ô]1.00[Ô] & Chr(34) & [Ô]>[Ô]
[ô] DT. 05/11/13 enquanto vigorar o horario de verao a tag do dhEvento tem que ser [Ô]-02:00[Ô]
[ô] qdo cessar o horario de verao voltar a tag para [Ô]-03:00[Ô]
[ô] se nao fizer isso a sefaz recusa o evento dizendo que a data do evento nao pode ser maior que a data do processamento.
MyBuffer = MyBuffer & [Ô]<infEvento Id=[Ô] & Chr(34) & [Ô]ID[Ô] & IdTagCancelamento & Chr(34) & [Ô]>[Ô] & _
[Ô]<cOrgao>35</cOrgao>[Ô] & _
[Ô]<tpAmb>[Ô] & AmbienteNfe & [Ô]</tpAmb>[Ô] & _
[Ô]<CNPJ>99999999999999</CNPJ>[Ô] & _
[Ô]<chNFe>[Ô] & ChaveAcesso & [Ô]</chNFe>[Ô] & _
[Ô]<dhEvento>[Ô] & Format(Now(), [Ô]yyyy-mm-ddThh:mm:ss[Ô]) & [Ô]-02:00[Ô] & [Ô]</dhEvento>[Ô] & _
[Ô]<tpEvento>110111</tpEvento>[Ô] & _
[Ô]<nSeqEvento>1</nSeqEvento>[Ô] & _
[Ô]<verEvento>1.00</verEvento>[Ô] & _
[Ô]<detEvento versao=[Ô] & Chr(34) & [Ô]1.00[Ô] & Chr(34) & [Ô]>[Ô] & _
[Ô]<descEvento>Cancelamento</descEvento>[Ô] & _
[Ô]<nProt>[Ô] & Protocolo & [Ô]</nProt>[Ô] & _
[Ô]<xJust>[Ô] & MotivoCancelamento & [Ô]</xJust>[Ô] & _
[Ô]</detEvento>[Ô] & _
[Ô]</infEvento>[Ô]
MyBuffer = MyBuffer & [Ô]</evento>[Ô]
após criar o xml acima, no vb.net eu coloco ele dentro do lote, para posteriormente assinar e transmitir.
LoteXml = [Ô]<?xml version=[Ô] & Chr(34) & [Ô]1.0[Ô] & Chr(34) & [Ô] encoding=[Ô] & Chr(34) & [Ô]UTF-8[Ô] & Chr(34) & _
[Ô] standalone=[Ô] & Chr(34) & [Ô]no[Ô] & Chr(34) & _
[Ô]?><envEvento xmlns=[Ô] & Chr(34) & [Ô]http://www.portalfiscal.inf.br/nfe[Ô] & Chr(34) & _
[Ô] versao=[Ô] & Chr(34) & [Ô]1.00[Ô] & Chr(34) & [Ô]><idLote>[Ô] & sacLote(cArq) & [Ô]</idLote>[Ô] & myBuffer & [Ô]</envEvento>[Ô]
qualquer dúvida estamos ai.
Obrigado Sankarva pela resposta, mas já tinha resolvido eu estava criando o xml como está no manual com as tags <envEvento xmlns=[Ô]http://www.portalfiscal.inf.br/nfe[Ô] versao=[Ô]1.00[Ô]> e <idLote>00000002311801</idLote>
mas quando eu assinava, só assinava na tag <evento> tentei assinar na tag <infEvento> e depois colocar as outras tags mas dava erro de validação, resolvi fazer igual ao do projeto e deu certo.
Mas valeu pela informação do fuso horário, eu tinha que atrasar a hora para funcionar.
Eu também estou usando o vb6 só que criei uma dll, está funcionando 100%.
mas quando eu assinava, só assinava na tag <evento> tentei assinar na tag <infEvento> e depois colocar as outras tags mas dava erro de validação, resolvi fazer igual ao do projeto e deu certo.
Mas valeu pela informação do fuso horário, eu tinha que atrasar a hora para funcionar.
Eu também estou usando o vb6 só que criei uma dll, está funcionando 100%.
TABPRS, referente ao pdf é só imprimir por uma impressora virtua;l enviar por e-mail e mais fácil ainda no vb.net.
Eu utilizo o bulzip para impressão do PDF
Imprimir o DANFE em PDF
Public Sub ImprimeDANFE()
Dim Relatorio As New PrintDocument, Previa As New PrintPreviewDialog
Try
XmlDoc.Load(_PathXml) [ô] carrega o arquivo da nfe para a memoria
Catch ex As Exception
MsgBox([Ô]Problemas com o Xml da NF-e.[Ô], MsgBoxStyle.Critical, [Ô]Atenção Sr. Usuário[Ô])
Exit Sub
End Try
QtdItensDanfe = PegaQtdItensDanfe() [ô] guarda o total de produtos constantes no danfe
SetaTotalFolha() [ô] calcula qtas folhas seram necessarias para imprimir o danfe
AddHandler Relatorio.BeginPrint, AddressOf InicioImpressao [ô]ASSOCIA OS EVENTOS DE IMPRESSÃO
AddHandler Relatorio.PrintPage, AddressOf PrinterXmlNFe
Relatorio.DefaultPageSettings.Landscape = False [ô] imprime nfe na orientacao retrato
If _saida = [Ô]V[Ô] Then [ô] quer ver a impressao na tela
Previa.Document = Relatorio
Previa.FormBorderStyle = FormBorderStyle.Sizable
Previa.PrintPreviewControl.Zoom = 1 [ô] 100%
Previa.AutoSizeMode = AutoSizeMode.GrowOnly
Previa.ShowDialog()
Previa.Close()
Previa.Dispose()
Relatorio.Dispose()
ElseIf _saida = [Ô]PDF[Ô] Then
Dim obj As New Object
obj = CreateObject([Ô]Bullzip.PDFPrinterSettings[Ô]) [ô] tem que ter a impressora bullzip instalada
obj.SetValue([Ô]Output[Ô], _caminhoPdf & _ChaveAcesso & [Ô].pdf[Ô])
obj.SetValue([Ô]ConfirmOverwrite[Ô], [Ô]no[Ô])
obj.SetValue([Ô]ShowSaveAS[Ô], [Ô]never[Ô])
obj.SetValue([Ô]ShowSettings[Ô], [Ô]never[Ô])
obj.SetValue([Ô]ShowPDF[Ô], [Ô]no[Ô])
obj.SetValue([Ô]RememberLastFileName[Ô], [Ô]no[Ô])
obj.SetValue([Ô]RememberLastFolderName[Ô], [Ô]no[Ô])
obj.WriteSettings(True)
Relatorio.PrinterSettings.PrinterName = [Ô]Bullzip PDF Printer[Ô]
Relatorio.Print()
Relatorio.Dispose()
ElseIf _saida = [Ô]P[Ô] Then
Try
Relatorio.Print()
Relatorio.Dispose()
Catch ex As Exception
MsgBox([Ô]Problemas com a Impressora.[Ô])
End Try
End If
End Sub
------------------------------------------------------------------------------------------------------------
Rotina para enviar o email
Private Sub DisparaEmail()
Dim EnviaEmail As New EnviaEmail, CaminhoXml As String = String.Empty
EnviaEmail.Destinatario = ConnectionFactory.PegaInfoBancoDados([Ô]Select a.Email From Clientes a, Conhecimento b [Ô] & _
[Ô]Where a.Documento = b.Destinatario and b.NumeroCt = [ô][Ô] & dgvGride.Item(4, LinhaGride).Value & [Ô][ô][Ô], [Ô][Ô])
Dim ComCopia As String = ConnectionFactory.PegaInfoBancoDados([Ô]Select a.E_MailContador From Empresa a, Conhecimento b [Ô] & _
[Ô]Where a.Cnpj = b.Emitente and b.NumeroCt = [ô][Ô] & dgvGride.Item(4, LinhaGride).Value & [Ô][ô][Ô], [Ô][Ô])
ComCopia = ComCopia & IIf(ComCopia <> String.Empty, [Ô];[Ô], [Ô][Ô]) & _
ConnectionFactory.PegaInfoBancoDados([Ô]Select a.E_mailAdicional From Clientes a, Conhecimento b [Ô] & _
[Ô]Where a.Documento = b.Destinatario and b.NumeroCt = [ô][Ô] & dgvGride.Item(4, LinhaGride).Value & [Ô][ô][Ô], [Ô][Ô])
EnviaEmail.ComCopia = ComCopia
EnviaEmail.ComCopiaOculta = [Ô]CC@gmail.com[Ô]
EnviaEmail.AssuntoEmail = [Ô]Xml autorizado Nº [Ô] & dgvGride.Item(4, LinhaGride).Value
EnviaEmail.CorpoEmail = [Ô]Segue Xml Autorizado do Conhecimento Nº [Ô] & dgvGride.Item(4, LinhaGride).Value
EnviaEmail.EnderecoEmail = ConnectionFactory.PegaInfoBancoDados([Ô]Select Conteudo From ArqIni Where ArqIni = [ô]EMAIL[ô] and Chave = [ô]SETUP[ô] and Parametro = [ô]REMETENTE[ô][Ô], [Ô][Ô])
EnviaEmail.NomeSerExibido = ConnectionFactory.PegaInfoBancoDados([Ô]Select a.Fantasia From Empresa a, Conhecimento b [Ô] & _
[Ô]Where a.Cnpj = b.Emitente and b.NumeroCt = [ô][Ô] & dgvGride.Item(4, LinhaGride).Value & [Ô][ô][Ô], [Ô][Ô])
EnviaEmail.NomeUsuario = ConnectionFactory.PegaInfoBancoDados([Ô]Select Conteudo From ArqIni Where ArqIni = [ô]EMAIL[ô] and Chave = [ô]SETUP[ô] and Parametro = [ô]NOMEUSUARIO[ô][Ô], [Ô][Ô])
EnviaEmail.Senha = ConnectionFactory.PegaInfoBancoDados([Ô]Select Conteudo From ArqIni Where ArqIni = [ô]EMAIL[ô] and Chave = [ô]SETUP[ô] and Parametro = [ô]SENHA[ô][Ô], [Ô][Ô])
CaminhoXml = PastaEmitido & IIf(AmbienteCTe = [Ô]1[Ô], [Ô]PRODUCAO\[Ô], [Ô]HOMOLOGACAO\[Ô]) & _
[Ô]A_[Ô] & txtData.Text.Substring(6, 4) & [Ô]\M_[Ô] & txtData.Text.Substring(3, 2) & [Ô]\D_[Ô] & txtData.Text.Substring(0, 2) & [Ô]\[Ô]
EnviaEmail.ArrayAnexo = {CaminhoXml & dgvGride.Item(11, LinhaGride).Value & [Ô]-cte.xml[Ô]}
EnviaEmail.Host = ConnectionFactory.PegaInfoBancoDados([Ô]Select Conteudo From ArqIni Where ArqIni = [ô]EMAIL[ô] and Chave = [ô]SETUP[ô] and Parametro = [ô]HOST[ô][Ô], [Ô][Ô])
EnviaEmail.Porta = ConnectionFactory.PegaInfoBancoDados([Ô]Select Conteudo From ArqIni Where ArqIni = [ô]EMAIL[ô] and Chave = [ô]SETUP[ô] and Parametro = [ô]PORTA[ô][Ô], 0)
EnviaEmail.ssl = ConnectionFactory.PegaInfoBancoDados([Ô]Select Conteudo From ArqIni Where ArqIni = [ô]EMAIL[ô] and Chave = [ô]SETUP[ô] and Parametro = [ô]SSL[ô][Ô], [Ô][Ô]) = [Ô]S[Ô]
EnviaEmail.Envia()
End Sub
--------------------------------------------------------------------------------------------------------------
Classe de envio de e-mail
Imports System.Net.Mail
Public Class EnviaEmail
#Region [Ô]Propriedades da Classe[Ô]
Private _EnderecoEmail As String
Public Property EnderecoEmail() As String
Get
Return _EnderecoEmail
End Get
Set(ByVal value As String)
_EnderecoEmail = value
End Set
End Property
Private _NomeSerExibido As String = String.Empty
Public WriteOnly Property NomeSerExibido() As String
Set(ByVal value As String)
_NomeSerExibido = value
End Set
End Property
Private _Destinatario As String
Public Property Destinatario() As String
Get
Return _Destinatario
End Get
Set(ByVal value As String)
_Destinatario = value
End Set
End Property
Private _ComCopia As String = String.Empty
Public WriteOnly Property ComCopia() As String
Set(ByVal value As String)
_ComCopia = value
End Set
End Property
Private _comCopiaOculta As String
Public Property ComCopiaOculta() As String
Get
Return _comCopiaOculta
End Get
Set(ByVal value As String)
_comCopiaOculta = value
End Set
End Property
Private _AssuntoEmail As String
Public WriteOnly Property AssuntoEmail() As String
Set(ByVal value As String)
_AssuntoEmail = value
End Set
End Property
Private _CorpoEmail As String
Public WriteOnly Property CorpoEmail() As String
Set(ByVal value As String)
_CorpoEmail = value
End Set
End Property
Private _ArrayAnexo As Array = Nothing
Public WriteOnly Property ArrayAnexo() As Array
Set(ByVal value As Array)
_ArrayAnexo = value
End Set
End Property
Private _host As String
Public WriteOnly Property Host() As String
Set(ByVal value As String)
_host = value
End Set
End Property
Private _porta As Integer
Public WriteOnly Property Porta() As Integer
Set(ByVal value As Integer)
_porta = value
End Set
End Property
Private _nomeUsuario As String = String.Empty
Public WriteOnly Property NomeUsuario() As String
Set(ByVal value As String)
_nomeUsuario = value
End Set
End Property
Private _senha As String = String.Empty
Public WriteOnly Property Senha() As String
Set(ByVal value As String)
_senha = value
End Set
End Property
Private _sucesso As Boolean
Public ReadOnly Property Sucesso() As Boolean
Get
Return _sucesso
End Get
End Property
Private _ssl As Boolean
Public Property SSL() As Boolean
Get
Return _ssl
End Get
Set(ByVal value As Boolean)
_ssl = value
End Set
End Property
#End Region
#Region [Ô]Metodos da Classe[Ô]
Public Sub Envia()
Dim SendMail As New System.Net.Mail.MailMessage()
Try
SendMail.From = New MailAddress(_EnderecoEmail, _NomeSerExibido, System.Text.Encoding.UTF8)
SendMail.To.Add(_Destinatario)
Catch ex As Exception
End Try
If _ComCopia <> String.Empty Then
_ComCopia = _ComCopia.Replace([Ô];[Ô], [Ô],[Ô]) [ô] troca ; por ,
Try [ô] previne o user ter info um email invalido
SendMail.CC.Add(_ComCopia)
Catch ex As Exception
End Try
End If
If _comCopiaOculta <> String.Empty Then SendMail.Bcc.Add(_comCopiaOculta)
If _AssuntoEmail <> String.Empty Then SendMail.Subject = _AssuntoEmail
If _CorpoEmail <> String.Empty Then SendMail.Body = _CorpoEmail
If _ArrayAnexo IsNot Nothing Then
For x As Integer = 0 To UBound(_ArrayAnexo)
SendMail.Attachments.Add(New Attachment(_ArrayAnexo(x))) [ô] fazer um array de anexos
Next
End If
Try
[ô]Dim SmtpClient As New System.Net.Mail.SmtpClient(_host, _porta)
Dim SmtpClient As New System.Net.Mail.SmtpClient
SmtpClient.Host = _host
SmtpClient.Port = _porta
SmtpClient.
Public Sub ImprimeDANFE()
Dim Relatorio As New PrintDocument, Previa As New PrintPreviewDialog
Try
XmlDoc.Load(_PathXml) [ô] carrega o arquivo da nfe para a memoria
Catch ex As Exception
MsgBox([Ô]Problemas com o Xml da NF-e.[Ô], MsgBoxStyle.Critical, [Ô]Atenção Sr. Usuário[Ô])
Exit Sub
End Try
QtdItensDanfe = PegaQtdItensDanfe() [ô] guarda o total de produtos constantes no danfe
SetaTotalFolha() [ô] calcula qtas folhas seram necessarias para imprimir o danfe
AddHandler Relatorio.BeginPrint, AddressOf InicioImpressao [ô]ASSOCIA OS EVENTOS DE IMPRESSÃO
AddHandler Relatorio.PrintPage, AddressOf PrinterXmlNFe
Relatorio.DefaultPageSettings.Landscape = False [ô] imprime nfe na orientacao retrato
If _saida = [Ô]V[Ô] Then [ô] quer ver a impressao na tela
Previa.Document = Relatorio
Previa.FormBorderStyle = FormBorderStyle.Sizable
Previa.PrintPreviewControl.Zoom = 1 [ô] 100%
Previa.AutoSizeMode = AutoSizeMode.GrowOnly
Previa.ShowDialog()
Previa.Close()
Previa.Dispose()
Relatorio.Dispose()
ElseIf _saida = [Ô]PDF[Ô] Then
Dim obj As New Object
obj = CreateObject([Ô]Bullzip.PDFPrinterSettings[Ô]) [ô] tem que ter a impressora bullzip instalada
obj.SetValue([Ô]Output[Ô], _caminhoPdf & _ChaveAcesso & [Ô].pdf[Ô])
obj.SetValue([Ô]ConfirmOverwrite[Ô], [Ô]no[Ô])
obj.SetValue([Ô]ShowSaveAS[Ô], [Ô]never[Ô])
obj.SetValue([Ô]ShowSettings[Ô], [Ô]never[Ô])
obj.SetValue([Ô]ShowPDF[Ô], [Ô]no[Ô])
obj.SetValue([Ô]RememberLastFileName[Ô], [Ô]no[Ô])
obj.SetValue([Ô]RememberLastFolderName[Ô], [Ô]no[Ô])
obj.WriteSettings(True)
Relatorio.PrinterSettings.PrinterName = [Ô]Bullzip PDF Printer[Ô]
Relatorio.Print()
Relatorio.Dispose()
ElseIf _saida = [Ô]P[Ô] Then
Try
Relatorio.Print()
Relatorio.Dispose()
Catch ex As Exception
MsgBox([Ô]Problemas com a Impressora.[Ô])
End Try
End If
End Sub
------------------------------------------------------------------------------------------------------------
Rotina para enviar o email
Private Sub DisparaEmail()
Dim EnviaEmail As New EnviaEmail, CaminhoXml As String = String.Empty
EnviaEmail.Destinatario = ConnectionFactory.PegaInfoBancoDados([Ô]Select a.Email From Clientes a, Conhecimento b [Ô] & _
[Ô]Where a.Documento = b.Destinatario and b.NumeroCt = [ô][Ô] & dgvGride.Item(4, LinhaGride).Value & [Ô][ô][Ô], [Ô][Ô])
Dim ComCopia As String = ConnectionFactory.PegaInfoBancoDados([Ô]Select a.E_MailContador From Empresa a, Conhecimento b [Ô] & _
[Ô]Where a.Cnpj = b.Emitente and b.NumeroCt = [ô][Ô] & dgvGride.Item(4, LinhaGride).Value & [Ô][ô][Ô], [Ô][Ô])
ComCopia = ComCopia & IIf(ComCopia <> String.Empty, [Ô];[Ô], [Ô][Ô]) & _
ConnectionFactory.PegaInfoBancoDados([Ô]Select a.E_mailAdicional From Clientes a, Conhecimento b [Ô] & _
[Ô]Where a.Documento = b.Destinatario and b.NumeroCt = [ô][Ô] & dgvGride.Item(4, LinhaGride).Value & [Ô][ô][Ô], [Ô][Ô])
EnviaEmail.ComCopia = ComCopia
EnviaEmail.ComCopiaOculta = [Ô]CC@gmail.com[Ô]
EnviaEmail.AssuntoEmail = [Ô]Xml autorizado Nº [Ô] & dgvGride.Item(4, LinhaGride).Value
EnviaEmail.CorpoEmail = [Ô]Segue Xml Autorizado do Conhecimento Nº [Ô] & dgvGride.Item(4, LinhaGride).Value
EnviaEmail.EnderecoEmail = ConnectionFactory.PegaInfoBancoDados([Ô]Select Conteudo From ArqIni Where ArqIni = [ô]EMAIL[ô] and Chave = [ô]SETUP[ô] and Parametro = [ô]REMETENTE[ô][Ô], [Ô][Ô])
EnviaEmail.NomeSerExibido = ConnectionFactory.PegaInfoBancoDados([Ô]Select a.Fantasia From Empresa a, Conhecimento b [Ô] & _
[Ô]Where a.Cnpj = b.Emitente and b.NumeroCt = [ô][Ô] & dgvGride.Item(4, LinhaGride).Value & [Ô][ô][Ô], [Ô][Ô])
EnviaEmail.NomeUsuario = ConnectionFactory.PegaInfoBancoDados([Ô]Select Conteudo From ArqIni Where ArqIni = [ô]EMAIL[ô] and Chave = [ô]SETUP[ô] and Parametro = [ô]NOMEUSUARIO[ô][Ô], [Ô][Ô])
EnviaEmail.Senha = ConnectionFactory.PegaInfoBancoDados([Ô]Select Conteudo From ArqIni Where ArqIni = [ô]EMAIL[ô] and Chave = [ô]SETUP[ô] and Parametro = [ô]SENHA[ô][Ô], [Ô][Ô])
CaminhoXml = PastaEmitido & IIf(AmbienteCTe = [Ô]1[Ô], [Ô]PRODUCAO\[Ô], [Ô]HOMOLOGACAO\[Ô]) & _
[Ô]A_[Ô] & txtData.Text.Substring(6, 4) & [Ô]\M_[Ô] & txtData.Text.Substring(3, 2) & [Ô]\D_[Ô] & txtData.Text.Substring(0, 2) & [Ô]\[Ô]
EnviaEmail.ArrayAnexo = {CaminhoXml & dgvGride.Item(11, LinhaGride).Value & [Ô]-cte.xml[Ô]}
EnviaEmail.Host = ConnectionFactory.PegaInfoBancoDados([Ô]Select Conteudo From ArqIni Where ArqIni = [ô]EMAIL[ô] and Chave = [ô]SETUP[ô] and Parametro = [ô]HOST[ô][Ô], [Ô][Ô])
EnviaEmail.Porta = ConnectionFactory.PegaInfoBancoDados([Ô]Select Conteudo From ArqIni Where ArqIni = [ô]EMAIL[ô] and Chave = [ô]SETUP[ô] and Parametro = [ô]PORTA[ô][Ô], 0)
EnviaEmail.ssl = ConnectionFactory.PegaInfoBancoDados([Ô]Select Conteudo From ArqIni Where ArqIni = [ô]EMAIL[ô] and Chave = [ô]SETUP[ô] and Parametro = [ô]SSL[ô][Ô], [Ô][Ô]) = [Ô]S[Ô]
EnviaEmail.Envia()
End Sub
--------------------------------------------------------------------------------------------------------------
Classe de envio de e-mail
Imports System.Net.Mail
Public Class EnviaEmail
#Region [Ô]Propriedades da Classe[Ô]
Private _EnderecoEmail As String
Public Property EnderecoEmail() As String
Get
Return _EnderecoEmail
End Get
Set(ByVal value As String)
_EnderecoEmail = value
End Set
End Property
Private _NomeSerExibido As String = String.Empty
Public WriteOnly Property NomeSerExibido() As String
Set(ByVal value As String)
_NomeSerExibido = value
End Set
End Property
Private _Destinatario As String
Public Property Destinatario() As String
Get
Return _Destinatario
End Get
Set(ByVal value As String)
_Destinatario = value
End Set
End Property
Private _ComCopia As String = String.Empty
Public WriteOnly Property ComCopia() As String
Set(ByVal value As String)
_ComCopia = value
End Set
End Property
Private _comCopiaOculta As String
Public Property ComCopiaOculta() As String
Get
Return _comCopiaOculta
End Get
Set(ByVal value As String)
_comCopiaOculta = value
End Set
End Property
Private _AssuntoEmail As String
Public WriteOnly Property AssuntoEmail() As String
Set(ByVal value As String)
_AssuntoEmail = value
End Set
End Property
Private _CorpoEmail As String
Public WriteOnly Property CorpoEmail() As String
Set(ByVal value As String)
_CorpoEmail = value
End Set
End Property
Private _ArrayAnexo As Array = Nothing
Public WriteOnly Property ArrayAnexo() As Array
Set(ByVal value As Array)
_ArrayAnexo = value
End Set
End Property
Private _host As String
Public WriteOnly Property Host() As String
Set(ByVal value As String)
_host = value
End Set
End Property
Private _porta As Integer
Public WriteOnly Property Porta() As Integer
Set(ByVal value As Integer)
_porta = value
End Set
End Property
Private _nomeUsuario As String = String.Empty
Public WriteOnly Property NomeUsuario() As String
Set(ByVal value As String)
_nomeUsuario = value
End Set
End Property
Private _senha As String = String.Empty
Public WriteOnly Property Senha() As String
Set(ByVal value As String)
_senha = value
End Set
End Property
Private _sucesso As Boolean
Public ReadOnly Property Sucesso() As Boolean
Get
Return _sucesso
End Get
End Property
Private _ssl As Boolean
Public Property SSL() As Boolean
Get
Return _ssl
End Get
Set(ByVal value As Boolean)
_ssl = value
End Set
End Property
#End Region
#Region [Ô]Metodos da Classe[Ô]
Public Sub Envia()
Dim SendMail As New System.Net.Mail.MailMessage()
Try
SendMail.From = New MailAddress(_EnderecoEmail, _NomeSerExibido, System.Text.Encoding.UTF8)
SendMail.To.Add(_Destinatario)
Catch ex As Exception
End Try
If _ComCopia <> String.Empty Then
_ComCopia = _ComCopia.Replace([Ô];[Ô], [Ô],[Ô]) [ô] troca ; por ,
Try [ô] previne o user ter info um email invalido
SendMail.CC.Add(_ComCopia)
Catch ex As Exception
End Try
End If
If _comCopiaOculta <> String.Empty Then SendMail.Bcc.Add(_comCopiaOculta)
If _AssuntoEmail <> String.Empty Then SendMail.Subject = _AssuntoEmail
If _CorpoEmail <> String.Empty Then SendMail.Body = _CorpoEmail
If _ArrayAnexo IsNot Nothing Then
For x As Integer = 0 To UBound(_ArrayAnexo)
SendMail.Attachments.Add(New Attachment(_ArrayAnexo(x))) [ô] fazer um array de anexos
Next
End If
Try
[ô]Dim SmtpClient As New System.Net.Mail.SmtpClient(_host, _porta)
Dim SmtpClient As New System.Net.Mail.SmtpClient
SmtpClient.Host = _host
SmtpClient.Port = _porta
SmtpClient.
Faça seu login para responder