Příjem e-mailů pomocí protokolu POP3

Automaticky přeloženo z Deepl

4D v18 představuje nový, snadno použitelný a výkonný způsob vytváření a odesílání e-mailů. Způsob, který umožňuje odesílat poutavé e-maily založené na HTML (s obrázky, videi a přílohami) pomocí pouhých několika řádků kódu. Ve verzi 4D v18 R2 jsme přidali možnost lokálního stažení e-mailů a jejich odstranění z e-mailového serveru. V tomto příspěvku na blogu si projdeme nové možnosti, které to nabízí.

New POP3 New transporter Příkaz umožňuje používat protokol POP3 ke správě elektronické pošty. Protokol POP (Post Office Protocol) je standardní protokol pro načítání e-mailů z poštovního serveru. Je užitečný pro akce, jako je připojení k serveru POP3, načtení zpráv k automatickému zpracování a/nebo uložení do místní databáze a jejich odstranění ze serveru.

Stahování poštovních schránek HDI POP3

Vytvoření přenosového serveru pop3

Stejně jako v případě protokolu SMTP je při použití protokolu POP3 nejprve nutné vytvořit přenosový server POP3 (pomocí příkazu POP3 New transporter příkaz):

$server:=New object
$server .host:="yourPOP3host.com"
$server .port:=995
$server .user:="4D.POP3@mail.com"
$server .password:="XXXXXX"
// Create a transporter from your server information
$POP3 transporter:=POP3 New transporter($server)

Poštovní informace

Informace o všech zprávách v poštovní schránce můžete získat příkazem getMailInfoList() objektu POP3 transportéru. Vrácený seznam obsahuje zejména číslo zprávy, které identifikuje každý e-mail během transakce POP3:

$mailInfos:=$POP3 transporter.getMailInfoList()

Pokud potřebujete informace pouze pro jednu zprávu, můžete použít také metodu getMailInfo() metodu … stačí v parametru předat číslo zprávy:

$mailInfo:=$POP3 transporter.getMailInfo($mailNumber)

obdržet e-mail

Všechny zprávy nebo konkrétní zprávy můžete stáhnout pomocí metody getMail() metodu. Chcete-li stáhnout konkrétní zprávu, jednoduše předejte číslo zprávy vrácené metodou getMailInfoList() jako parametr této metody. Následující příklad ukazuje, jak stáhnout všechny zprávy v poštovní schránce:

$mailInfos:=$POP3 transporter.getMailInfoList()
$mails :=New collection
For each ($mail;$mailInfos)
// Download email
$mails . push($transporter.getMail($mail.number))
End for each

smazat e-mail

Zprávu, která má být při ukončení relace odstraněna, můžete označit pomocí metody delete() metodou. Stejným způsobem jako u metody getMail() metodě předejte číslo zprávy vrácené metodou getMailInfoList() jako parametr. Například pokud chcete stáhnout a odstranit všechny zprávy v poštovní schránce:

$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

Informace o poštovní schránce

Počet e-mailů v poštovní schránce a velikost poštovní schránky můžete získat pomocí metody getBoxInfo() metodou:

$boxInfo:=$POP3 transporter.getBoxInfo()
ALERT ("Velikost: "+String($boxInfo.size)+" - Count: "+String($boxInfo.mailCount))

záznam transakce

Stejně jako u protokolů SMTP můžete protokolovat všechny transakce POP3. Existují dva způsoby, jak vytvořit protokol:

  • Spustit protokol POP3 na serveru – klikněte na tlačítko „Spustit protokoly požadavků a ladění“ na serveru 4D.
  • Záznam konkrétní transakce (například během ladění) – použijte příkaz logFile vlastnost objektu POP3 transporter:

$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\\\POP3Log.txt"
$transporter :=POP3 New transporter($server)

Všechny tyto příkazy můžete vyzkoušet pomocí výše uvedeného HDI.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené se připojil k týmu 4D Program v listopadu 2016. Jako Product Owner má na starosti psaní uživatelských příběhů, které následně převádí do funkčních specifikací. Jeho úkolem je také zajistit, aby dodaná implementace funkcí splňovala potřeby zákazníků.Po získání bakalářského titulu v oboru informatiky na CNAM nastoupil Fabrice do malé softwarové vydavatelské společnosti jako vývojář Windev. Poté pracoval pro různé společnosti v oblasti průmyslu a obchodu jako vývojář aplikací Windev a webových aplikací a také jako technický poradce pro nové funkce.