Estava faltando descomplicar...
Para enviar emails pelo xHarbour é melhor utilizar a função SendMail que estamos anexando a esta matéria no rodapé para download.
Veja sua sintaxe:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | FUNCTION HB_SendMail( cServer, nPort, cFrom, aTo, aCC, aBCC, cBody, cSubject, aFiles, cUser, cPass, cPopServer, nPriority, lRead, lTrace, lPopAuth, lnoauth, nTimeOut) /* cServer -> Obrigatório. IP ou domínio do servidor de emails nPort -> Opcional. Porta usada pelo servidor de emails cFrom -> Obrigatório. Email do remetente aTo -> Obrigatório. String ou array de endereços de email para serem enviados aCC -> Opcional. String ou array de endereços de email para CC (Carbon Copy) aBCC -> Opcional. String ou array de endereços de email para BCC (Blind Carbon Copy) cBody -> Opcional. A mensagem do corpo do email como texto ou arquivo HTML cSubject -> Opcional. Assunto do email aFiles -> Opcional. Array de arquivos para serem enviados como anexo cUser -> Obrigatório. Nome de usuário do servidor POP3 cPass -> Obrigatório. Senha do cUser cPopServer -> Obrigatório. Nome ou endereço do servidor de emails POP3 [sic][Usa-se o SMTP para enviar email] nPriority -> Opcional. Prioridade do Email: 1=Alta, 3=Normal (Padrão), 5=Baixa lRead -> Opcional. Se for .T., uma requisição de confirmação será solicitada. Por padrão é .F. lTrace -> Opcional. Se for .T., um arquivo de log é criado (sendmail<nnr>.log). O padrão é .F. lnoauth -> Opcional. Desativa método de autenticação nTimeOut -> Opcional. Número de milisegundos para esperar. O padrão é 20000 (20s). */ </nnr> |
Veja um exemplo de minha autoria para enviar emails pelo xHarbour com o SendMail:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | IF ( ALERT ( "ENVIA ARQUIVOS POR EMAIL AGORA?" , { "Sim" , "Não" })) = 1 @ 24,00 SAY PADC( "Preparando email... AGUARDE!" ,80) COLOR "W+/BG" // ARQUIVOS A SEREM ENVIADOS aFILES := {cPASTA+cARQLC, cPASTA+cARQLI, cPASTA+cARQCON} // COMPACTA ARQUIVOS fZIP := cPASTA+ "Portal.zip" IF FILE (fZIP) RUN ( "DEL " +fZIP) // APAGA ZIP ANTERIOR ENDIF HB_ZIPFILE(fZIP, aFILES) // COMPACTA OS 3 ARQUIVOS EM PORTAL.ZIP // preparing data for eMail cSubject := "Aqui vai o assunto do seu email" cFrom := "email@remetente.com.br" // email do remetente cMAILUSER := "usuariodoemail" // login de acesso do seu email cPASSWORD := "senhadoemail" // sua senha de email cSMTP := "smtp.seudominio.com.br" // seu domínio do email cTo := "email@destinatario.com.br" // email do destinatário cCC := cFrom // manda cópia carbono pra você mesmo ter certeza que deu certo aAttach := {fZIP} // sempre array cBody := "Prezados," +HB_OsNewLine()+HB_OsNewLine()+; HB_OemToAnsi( "Estamos encaminhando as informações da STU-MAC/CBTU para o Portal da Transparência referente ao período de " ; +DTOC(dINIPROC)+ " a " +DTOC(dFIMPROC)+ "." )+HB_OsNewLine()+; "Atenciosamente," +HB_OsNewLine()+HB_OsNewLine()+; "Fulano de Tal" +HB_OsNewLine()+; "Cargo/empresa" +HB_OsNewLine()+; "Fone: (99) 9999-9999" nEMAILSIZE := HB_FSIZE(fZIP) / 1024 @ 24,00 SAY PADC( "Enviando arquivo Portal.zip por email... (" + ALLTRIM ( STR (nEMAILSIZE))+ "Kb) AGUARDE!" ,80) COLOR "W+/BG" IF HB_SENDMAIL(cSMTP,, cFROM, cTO, cCC,, cBODY, cSUBJECT, aAttach, cMAILUSER, cPASSWORD, cSMTP, 1, .T., .T.) ALERT ( "ARQUIVOS ENVIADOS COM ÊXITO." ) ELSE ALERT ( "Falha ao enviar o email." ) ENDIF ENDIF |
Enviar emails pelo sistema pode ser útil quando você tem que mandar um email para vários destinatários, ninguém pode conhecer o email do outro (para evitar conluios) e você precisa do comprovante de envio (prova de pesquisa de mercado). Assim, não adianta mandar via BCC, pois não vai ter comprovante.
Anexo:

Comentários
Página não encontrada
Comment:
Fui baixar o exemplo desta página e o link está quebrado, teria como corrigir esse problema?
Clodoaldo Monteiro
(86) 98859-0236
Páginas