Receber e-mails com protocolo POP3

Tradução automática de Deepl

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.

Fabrice Mainguené
- Proprietário do produto ->p>Fabrice Mainguené juntou-se à equipa do Programa 4D em Novembro, 2016. Como Proprietário do Produto, está encarregado de escrever as histórias dos utilizadores, traduzindo-as depois para especificações funcionais. O seu papel é também o de assegurar que a implementação da funcionalidade entregue vai ao encontro das necessidades do cliente.Após a obtenção da licenciatura em Informática no CNAM, Fabrice juntou-se a uma pequena empresa editora de software como programador Windev. Depois trabalhou para diferentes empresas nas áreas da indústria e comércio como programador Windev e web developer, bem como como consultor técnico sobre novas funcionalidades.