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:
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.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). */
Veja um exemplo de minha autoria para enviar emails pelo xHarbour com o SendMail:
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:
![application/zip](/modules/file/icons/package-x-generic.png)
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