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.