Jump to content
Fivewin Brasil

Envio de Email


EDUTEK

Recommended Posts

Boa tarde!

 

O que vocês estão usando para envio de e-mail, eu usava o swithmail, mas agora não estou conseguindo mais em contas Gmail.

alguma sugestão de programa.

uso para enviar de duplicatas, cte, nfe, mdfe, avisos de vencimento, cobranca,  etc.

 

 

Link to comment
Share on other sites

Amiguinhos,

O GMail tem um recurso de segurança que precisa ser desabilitado que é o recebimento POP.

Como motor de envio eu uso o bom e jurássico BLAT.EXE ou via automação a BLAT.DLL. 

Mas é lógico que uso como concentrador o SMTP do meu domínio.

Link to comment
Share on other sites

Olá amigo,

terá que ajustar para o seu Código, Mas segue

STATIC FUNCTION Enviar_email_xml_nfe_cte_mdfe_cce(e_mail_assunto,e_mail_normal_cancelado,e_mail_destino,e_mail_array_anexos)
   *----------------------------------------------------------------------------
	IF empty(alltrim(e_mail_assunto))
		MsgStop('Envio de e-mail Automatico'+CHR(13)+'Está Vazio o Campo de Assunto'+chr(13)+CHR(13)+'Rotina.: '+ alltrim(ProcName()) +CHR(13)+ 'Linha.: ' + alltrim(Str(ProcLine(),10,0))  ,SISTEMA)
	ELSE
	   *----------------------------------------------------------------------------
		CARREGA_CONFIGURACAO_DB( (DISKNAME()+":\"+ALLTRIM(CURDIR())+'\'+'CONFIGURACAO.INI') )   
      *---------------------------------------------------------------------- 
		IF len(e_mail_array_anexos) > 0      
			c_assunto 					:= IF(ALLTRIM(e_mail_normal_cancelado)='C','Cancelado o ','') + 'Documento Fiscal ' + ALLTRIM(e_mail_assunto)
			e_mail_mensagem 			:= '<h2>Favor Nao Responder este email</h2>' 
			e_mail_mensagem 			:= e_mail_mensagem + '<hr/>'   
			e_mail_mensagem 			:= e_mail_mensagem + '<h3>Fantasia.: ' + ALLTRIM(M->T_FANT_EMPRESA) + '      Tel.: ' + M->T_FONE_EMPRESA + ' - ' +  alltrim(M->T_FAX__EMPRESA)  +'</h4>' 
			e_mail_mensagem 			:= e_mail_mensagem + '<h4>Empresa.: ' + ALLTRIM(M->T_NOME_EMPRESA) + ' Cnpj.: ' + ALLTRIM(M->T_CNPJ_EMPRESA) +'</h4>' 
			e_mail_mensagem 			:= e_mail_mensagem + '<hr/>'   
			e_mail_mensagem 			:= e_mail_mensagem + 'Em anexo, enviamos o arquivo PDF/XML '+CRLF 
			e_mail_mensagem 			:= e_mail_mensagem + '<h3>'+ALLTRIM(e_mail_assunto)+'</h3>'  
			e_mail_mensagem 			:= e_mail_mensagem + 'Endereco para Consultar este Documento  www.nfe.fazenda.gov.br'  
			IF T_STATUS_SEFAZ_NOTA_FISCAL = '135'   .OR. T_STATUS_SEFAZ_NOTA_FISCAL = '155'
				e_mail_normal_cancelado = 'C'
			ENDIF
			IF e_mail_normal_cancelado = 'C'
				e_mail_mensagem 			:= e_mail_mensagem + '<hr/>'   
				e_mail_mensagem 			:= e_mail_mensagem + '<h2>ATENCAO DOCUMENTO ESTA CANCELADO</h2>' 
				e_mail_mensagem 			:= e_mail_mensagem + '<hr/>'   
			ENDIF
			e_mail_mensagem 			:= e_mail_mensagem + '<hr/>'   
			e_mail_mensagem 			:= e_mail_mensagem + '<h6>Desenvolvido por ' + ALLTRIM(M->RODAPE_RELATORIO) + '</h6>'
			e_mail_mensagem 			:= e_mail_mensagem + '<h6>Este e-mail Foi Gerado Pelo Sistema MESTOQ - Versao ' + ALLTRIM(STR(M->VERSAO,05,02))  +'</h6>'  
			e_mail_mensagem 			:= e_mail_mensagem + '<hr/>'   
			*---------------------------------------------------------------------------------------
			* Se não For Ambiente de Produção o sistema manda o e-mail para a minha caixa de e-mail
			*--------------------------------------------------------------------------------------
			c_destino_email		:= e_mail_destino
			IF M->T_NFE_PRODUC_HOMOLOG=2    &&&&,'Produção - Oficial','Homologação - Testes')
				c_destino_email		:= ALLTRIM('masterservicevrb@gmail.com')
			ENDIF
			*-------------------------------------------------------------------
			* caso o cliente nao tenha e-mail cadastrado, mas o e-mail do 
			* contador esteja cadastrado, o sistema Envia para o contador o e-mail
			*-------------------------------------------------------------------
			IF !EMPTY(ALLTRIM(T_EMAIL_E_MAIL_CONTADOR))
				if empty(alltrim(c_destino_email)) .or. empty(alltrim(e_mail_destino))
					c_destino_email	:=  ALLTRIM(T_EMAIL_E_MAIL_CONTADOR)
					e_mail_destino		:=  ALLTRIM(T_EMAIL_E_MAIL_CONTADOR)
				endif
		   ENDIF
			*-------------------------------------------------------------------
			c_email_copia_oculta	:=  ''
			IF EMPTY(ALLTRIM(e_mail_destino))
				T_TXT_NF_DADOS_COMP	:= 'O XML NAO FOI ENVIADO'
				oT_TXT_NF_DADOS_COMP : Refresh()
				MsgStop('Envio de e-mail Automatico'+CHR(13)+'Está Vazio o Campo de e-mail de Destino',SISTEMA)
			ELSE
				IF !EMPTY(ALLTRIM(T_EMAIL_E_MAIL_CONTADOR))
					c_destino_email	:= ALLTRIM(c_destino_email) + ';'+ ALLTRIM(T_EMAIL_E_MAIL_CONTADOR)
			   ENDIF
				T_TXT_NF_DADOS_COMP	:= 'Enviando o Arquivo XML '+ALLTRIM(e_mail_assunto) +' Para ' + ALLTRIM(c_destino_email) + if(!empty(alltrim(T_EMAIL_E_MAIL_CONTADOR)),'    Com Cópia Para '  + alltrim(T_EMAIL_E_MAIL_CONTADOR),'')
				oT_TXT_NF_DADOS_COMP : Refresh()
				*----------------------------------------------------------------	
				MsgRun("Enviando E-mail, Aguarde...",alltrim(M->SISTEMA),{||InformaativoMailVBS( alltrim(c_assunto) , alltrim(e_mail_mensagem) , Lower( alltrim(T_EMAIL_NOME_USUARIO)+alltrim(T_EMAIL_DOMI_USUARIO) ),Lower(Alltrim(c_destino_email)),  e_mail_array_anexos  )  })
				T_TXT_NF_DADOS_COMP	:= 'Arquivo XML foi Enviado com Exito....'
				oT_TXT_NF_DADOS_COMP : Refresh()
			ENDIF 
		ELSE
			for email:=1 to 10
			   T_TXT_NF_DADOS_COMP	:=  '('+str(email,02,0)+ '/10)   INFELIZMENTE NAO FOI ENVIADO O E-MAIL ( Não Foi Possível Anexar XML/PDF)'
			   oT_TXT_NF_DADOS_COMP : Refresh()
			   SysWait(0.5) 
			   T_TXT_NF_DADOS_COMP	:= ' '
			   oT_TXT_NF_DADOS_COMP : Refresh()
			   SysWait(0.5) 

			next
		ENDIF
	ENDIF
	T_TXT_NF_DADOS_COMP	:= ''
	oT_TXT_NF_DADOS_COMP : Refresh()
Return .t.


 

//===========================================================================*/
Function InformaativoMailVBS(cAssunto,cTexto,cFrom,cTo,cArquivo)
	//===========================================================================*/
	Local cScripty:="",objShellApp,I,aTexto
	default cAssunto:="",cTexto:="",cFrom:="",cTo:="",cArquivo:=""
	
	if Empty(cFrom)   
	   MsgAlert("Email remetente não informado.")
	   Return .F.
	Endif
	if Empty(cTo)   
	   MsgAlert("Email destinatário não informado.")
	   Return .F.
	Endif
	*----------------------------------------------------------------------------
	CARREGA_CONFIGURACAO_DB( (DISKNAME()+":\"+ALLTRIM(CURDIR())+'\'+'CONFIGURACAO.INI') )  
	*----------------------------------------------------------------------------
	if At(';',cTexto)>0
	   atexto:=hb_atokens(cTexto,';')
	   cTexto:=""
	   for i = 1 to len(aTexto)
	       cTexto+=aTexto[i]+'</p>'   
	   Next
	Endif
	*---------------------------------------------------------------------------- 
   DIR_TEMP := (CurDrive() +":\"+ CurDir())
    
	*----------------------------------------------------------------------------   
	//cTexto:='teste'
	cTexto:=StrTran(cTexto,CRLF,'<br>')
	fErase(DIR_TEMP+"\sendnfce4.vbs")
	//cScripty+="On Error Resume Next"+CRLF
	cScripty+='Set emailObj      = CreateObject("CDO.Message")'+CRLF
	cScripty+='emailObj.From     = "'+cFrom+'"'+CRLF            
	if !empty(cArquivo)
      For x := 1 To Len( cArquivo )
			  cScripty+='emailObj.AddAttachment "'+AllTrim(cArquivo[x])+'"'+CRLF  
       Next
	Endif   
	cScripty+='emailObj.To       = "'+cTo+'"'+CRLF          
	cScripty+=''+CRLF
	cScripty+='emailObj.Subject  = "'+cAssunto+'"'+CRLF    
	cScripty+='emailObj.HtmlBody = "<html><body><br>'+cTexto+'</br></body></html>"'+CRLF   
	cScripty+='Set emailConfig = emailObj.Configuration'+CRLF
	cScripty+=''+CRLF
	*----------------------------------------------------------------------------	
	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") 				= "'+LOWER(ALLTRIM(T_EMAIL_SERVIDOR_SMTP)) +'"'+CRLF
	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserverport") 			= '+ALLTRIM(T_EMAIL_PORTA_COMUNICACAO)+CRLF	
	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusing")    			= 2'+CRLF  
	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") 		= 1'+CRLF  
	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/smtpusessl")      		= '+IF(T_EMAIL_AUTENTICACAO_SSL = 'S','true','false')+CRLF 
	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendusername")				= "'+LOWER(ALLTRIM(T_EMAIL_NOME_USUARIO)+ALLTRIM(T_EMAIL_DOMI_USUARIO)) +'"'+CRLF
	cScripty+='emailConfig.Fields("http://schemas.microsoft.com/cdo/configuration/sendpassword") 			= "'+ALLTRIM(T_EMAIL_SENHA_USAURIO)+'"'+CRLF
	*----------------------------------------------------------------------------	      
	cScripty+='emailConfig.Fields.Update'+CRLF
	cScripty+='emailObj.Send'
	savefile(DIR_TEMP+'\sendnfce4.vbs',cScripty)
	Try
	  objShellApp = CreateObject("Shell.Application")
	  objShellApp:ShellExecute('wscript',DIR_TEMP+'\sendnfce4.vbs /s')
	  syswait(2)
	Catch   
	   return .f.
	End 
return(.T.)

Qualquer Dúvida Estou a disposição


 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...