4D v18 introduziu uma nova forma fácil de usar e poderosa de criar e enviar emails. Uma forma que lhe permite enviar e-mails apelativos baseados em HTML (com imagens, vídeos, e anexos), utilizando apenas algumas linhas de código. Em 4D v18 R2, adicionámos a possibilidade de descarregar localmente os seus emails e removê-los do seu servidor de email. Neste post do blogue, vamos analisar as novas possibilidades que isto oferece.
O novo POP3 New transporter permite a utilização do protocolo POP3 para gerir o correio electrónico. O Protocolo dos Correios (POP) é um protocolo padrão para recuperar correio electrónico a partir de um servidor de correio. É útil para acções tais como ligar a um servidor POP3, recuperar mensagens para processar automaticamente e/ou armazenar na sua base de dados local, e apagá-las do servidor.
Descarregamento da caixa de correio POP3 do HDI
Criar um Transportador pop3
Tal como no SMTP, ao utilizar o protocolo POP3, é necessário primeiro criar um transportador POP3 (através do POP3 New transporter comando):
$server
:=New object
$server .host:="seuPOP3host.com"
$server .port:=995
$server .user:=" "
$server .password:="XXXXXX" 4D.POP3@mail.com// Create a transporter from your server information
$POP3 transporter:=POP3 New transporter($server)
Informação sobre o correio
Pode obter informações sobre todas as mensagens na sua caixa de correio com o comando getMailInfoList() método do seu objecto de transporte POP3. A lista devolvida contém, em particular, um número de mensagem que identifica cada e-mail durante a transacção do POP3:
$mailInfos:=$POP3 transporter.getMailInfoList()
Se precisar de informações para uma única mensagem, pode utilizar também o getMailInfo() método … basta passar o número da mensagem no parâmetro:
$mailInfo:=$POP3 transporter.getMailInfo($mailNumber)
receber correio electrónico
Pode descarregar todas as mensagens ou mensagens específicas usando o getMail() método. Para descarregar uma mensagem específica, basta passar o número da mensagem devolvida por getMailInfoList() como parâmetro para este método. O exemplo seguinte demonstra como descarregar todas as mensagens na sua caixa de correio:
$mailInfos:=$POP3 transporter.getMailInfoList()
$mails :=New collection
For each ($mail;$mailInfos)
// Download email
$mails .
push($transporter.getMail($mail.number))
End for each
apagar e-mail
Pode marcar uma mensagem a ser apagada durante o encerramento da sessão com o delete() método. Do mesmo modo que o método getMail() passar o número da mensagem devolvida pelo método getMailInfoList() como parâmetro. Por exemplo, se quiser descarregar e apagar todas as mensagens da sua caixa de correio:
$mailInfos:=$POP3 transporter.getMailInfoList()
For each ($mailInfo;$mailInfos)
// Download email
ProcessMail ($POP3 transporter.getMail($mailInfo.number))
// Flag messages "to be deleted at the end of the session"
. ( . ) $POP3 transporterdelete$mailInfonumber
End for each
// Force the session closure to delete the messages flagged for deletion
$POP3 transporter:=Null
Informação sobre a caixa de correio
Pode obter o número de e-mails na sua caixa de correio e o tamanho da caixa de correio com o getBoxInfo() método:
$boxInfo:=$POP3 transporter.getBoxInfo()
ALERT ("Tamanho: "+String($boxInfo.size)+" - Contagem: "+String($boxInfo.mailCount))
transacção de registo
Tal como com os registos SMTP, pode registar todas as suas transacções POP3. Há duas maneiras de criar o seu diário de bordo:
- Execute um registo POP3 no servidor – clique no botão “Start Request and Debug Logs” no seu servidor 4D
- Registar uma transacção específica (durante a depuração, por exemplo) – utilizar o logFile propriedade do objecto de transporte POP3:
$server.host:="yourpop3server.com"
$server .user:="login"
$server .password:="psw"
// Enter the path of the log file you want to create
$server .logFile:="C:\tmp\tmp3Log.txt"
$transporter :=POP3 New transporter($server)
Pode testar todos estes comandos com o IDH acima.