palio.modules
Class Email

java.lang.Object
  extended by palio.modules.core.Module
      extended by palio.modules.Email
All Implemented Interfaces:
palio.modules.core.CurrentModuleDataKeys

public class Email
extends palio.modules.core.Module

Moduł email służy do odbierania i wysyłania poczty elektronicznej POP3, IMAP i SMTP. Docelowo, pod względem funkcjonalności, ma zastąpić zdezaktualizowany moduł mail.

W obecnej wersji zaimplementowana jest obsługa POP3 (łącznie z POP3s) i SMTP.

Wiadomość pobrana ze skrzynki to mapa zawierająca następujące pola:

Do wyciągania danych z klas javax.mail.Address[] i javax.mail.Part można użyć dodatkowych funkcji narzędziowych zawartych w tym module.

Moduł jest dostępny w każdej instancji jPalio i nie wymaga podawania żadnych parametrów w konfiguracji instancji.

Version:
0.2.7
Author:
Mateusz Gembarzewski

Field Summary
 
Fields inherited from interface palio.modules.core.CurrentModuleDataKeys
DESIGNER_ACTIONS_BUFFER, HTML_FORM_BUILDER, HTML_MAP_BUILDER, HTML_MENU_BUILDER, HTML_TOOLTIPS_BUFFER, ITEXT_DOCUMENT, MAIL_MESSAGE, XLS_DOCUMENT, XML_DOCUMENT
 
Constructor Summary
Email(palio.Instance instance, java.util.Properties parameters)
           
 
Method Summary
 void closeMailBox()
          Zamyka aktualnie (w obecnym wywołaniu strony) otwartą skrzynkę pocztową.
 void closeMailBox(java.lang.Boolean expunge)
          Zamyka aktualnie (w obecnym wywołaniu strony) otwartą skrzynkę pocztową.
 void flagMessage(java.lang.Long number, java.lang.String flagName, java.lang.Boolean flagValue)
          Pobiera wiadomość z aktualnie otwartej skrzynki i ustawia jej określoną flagę.
 void flagMessage(java.lang.Object UID, java.lang.String flagName, java.lang.Boolean flagValue)
          Pobiera wiadomość z aktualnie otwartej skrzynki i ustawia jej określoną flagę.
 java.lang.Long getDeletedMessageCount()
           Przykład użycia:

$email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX") Do skasowania: $email.getDeletedMessageCount() $email.closeMailBox()

static java.lang.Object[] getEmails(java.lang.Object addresses)
          Funkcja pomocnicza do wyciągania adresów e-mail z tablicy javax.mail.Address[].
static java.lang.String getFirstEmail(java.lang.Object addresses)
          Funkcja pomocnicza do wyciągania pierwszego adresu e-mail z tablicy javax.mail.Address[].
 java.lang.Boolean getFlag(java.lang.Long number, java.lang.String flagName)
          Pobiera wiadomość z aktualnie otwartej skrzynki i zwraca wartość określoną flagę.
 java.lang.Boolean getFlag(java.lang.Object UID, java.lang.String flagName)
          Pobiera wiadomość z aktualnie otwartej skrzynki i zwraca wartość określoną flagę.
 java.util.Map getMessage(java.lang.Long number)
          Pobiera wiadomość z aktualnie otwartej skrzynki.
 java.util.Map getMessage(java.lang.Object UID)
          Pobiera wiadomość z aktualnie otwartej skrzynki.
 java.lang.Long getMessageCount()
           Przykład użycia:

$email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX") Wiadomości: $email.getMessageCount() $email.closeMailBox()

static byte[] getPartContent(java.lang.Object contentPart)
          Zwraca binarną treść przypisaną do danej części wiadomości.
static java.util.Map getPartHeaders(java.lang.Object contentPart)
          Funkcja zwraca mapę parametrów przypisanych do danej części wiadomości.
 java.lang.Long getUnreadMessageCount()
           Przykład użycia:

$email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX") Nieprzeczytanych: $email.getUnreadMessageCount() $email.closeMailBox()

 java.lang.String getVersion()
          Returns the module version
 void listAllMessages(java.lang.String paramName, java.lang.Boolean getMessageContent, palio.compiler.PalioCode code)
          Funkcja iteruje po wszystkich wiadomościach z aktualnie otwartej skrzynki pocztowej.
 void listAllMessages(java.lang.String paramName, palio.compiler.PalioCode code)
          Funkcja iteruje po wszystkich wiadomościach z aktualnie otwartej skrzynki pocztowej.
 void listMessages(java.lang.String paramName, java.lang.Long from, java.lang.Long to, palio.compiler.PalioCode code)
          Funkcja iteruje po wybranym zakresie wiadomości z aktualnie otwartej skrzynki pocztowej.
 void listMessagesBySentDate(java.util.Date from, java.util.Date to, Closure code)
          Działanie funkcji identycznie jak listMessagesBySentDate(String, Date, Date, PalioCode).
 void listMessagesBySentDate(java.lang.String paramName, java.util.Date from, java.util.Date to, palio.compiler.PalioCode code)
          Funkcja iteruje po wybranym zakresie wiadomości z aktualnie otwartej skrzynki pocztowej.
 void openMailBox(java.lang.String host, java.lang.String login, java.lang.String password, java.lang.String protocol, java.lang.String folder)
          Otwiera wskazaną skrzynkę pocztową i umożliwia przeczytanie zawartych w niej wiadomości.
 void openMailBox(java.lang.String host, java.lang.String login, java.lang.String password, java.lang.String protocol, java.lang.String folder, java.lang.Long socketTimeout)
          Otwiera wskazaną skrzynkę pocztową i umożliwia przeczytanie zawartych w niej wiadomości.
 void openMailBox(java.lang.String host, java.lang.String login, java.lang.String password, java.lang.String protocol, java.lang.String folder, java.lang.Long port, boolean trust)
          Otwiera wskazaną skrzynkę pocztową i umożliwia przeczytanie zawartych w niej wiadomości.
 void sendMessage(java.lang.String host, java.lang.String login, java.lang.String password, java.lang.String from, java.lang.Object[] to, java.lang.Object[] cc, java.lang.Object[] bcc, java.lang.String subject, java.lang.String text, java.lang.String charset, java.lang.Object attachments)
          Wysyła wiadomość e-mail typu multipart (z możliwością załączenia plików lub treści HTML).
 void sendMessage(java.lang.String host, java.lang.String login, java.lang.String password, java.lang.String from, java.lang.Object[] to, java.lang.Object[] cc, java.lang.Object[] bcc, java.lang.String subject, java.lang.String text, java.lang.String charset, java.lang.String textType, java.lang.Object attachments)
          Wysyła wiadomość e-mail typu multipart (z możliwością załączenia plików lub treści HTML).
 void sendMessage(java.lang.String host, java.lang.String login, java.lang.String password, java.lang.String from, java.lang.Object[] to, java.lang.Object[] cc, java.lang.Object[] bcc, java.lang.String subject, java.lang.String text, java.lang.String charset, java.lang.String textType, java.lang.Object attachments, java.lang.Long port)
          Wysyła wiadomość e-mail typu multipart (z możliwością załączenia plików lub treści HTML).
 void sendMessageSSL(java.lang.String host, java.lang.String login, java.lang.String password, java.lang.String from, java.lang.Object[] to, java.lang.Object[] cc, java.lang.Object[] bcc, java.lang.String subject, java.lang.String text, java.lang.String charset, java.lang.String textType, java.lang.Object attachments, java.lang.Long port)
          Wysyła wiadomość e-mail typu multipart (z możliwością załączenia plików lub treści HTML).
 void sendMessageTLS(java.lang.String host, java.lang.String login, java.lang.String password, java.lang.String from, java.lang.Object[] to, java.lang.Object[] cc, java.lang.Object[] bcc, java.lang.String subject, java.lang.String text, java.lang.String charset, java.lang.String textType, java.lang.Object attachments, java.lang.Long port)
          Wysyła wiadomość e-mail typu multipart (z możliwością załączenia plików lub treści HTML).
 void setMailer(java.lang.String mailer)
          Ustawia nagłówek X-Mailer dla wiadomości, które będą wysłane podczas aktualnego wywołania strony.
 
Methods inherited from class palio.modules.core.Module
getConfigParam, getDescription, getModuleTranslation
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Email

public Email(palio.Instance instance,
             java.util.Properties parameters)
Method Detail

getVersion

public java.lang.String getVersion()
Description copied from class: palio.modules.core.Module
Returns the module version

Specified by:
getVersion in class palio.modules.core.Module

setMailer

public void setMailer(java.lang.String mailer)
Ustawia nagłówek X-Mailer dla wiadomości, które będą wysłane podczas aktualnego wywołania strony.

Parameters:
mailer - Nazwa aplikacji wysyłającej wiadomość, np.: "jPALIO e-mail module v1.0"
Since:
jPALIO 7.4.34

openMailBox

public void openMailBox(java.lang.String host,
                        java.lang.String login,
                        java.lang.String password,
                        java.lang.String protocol,
                        java.lang.String folder)
                 throws MessagingException
Otwiera wskazaną skrzynkę pocztową i umożliwia przeczytanie zawartych w niej wiadomości. Po wykonaniu wszystkich operacji skrzynkę należy zamknąć funkcją closeMailBox() jeszcze w tym samym wywołaniu strony!

Parameters:
host - nazwa hosta pocztowego, np: "mail.test.pl", "192.168.0.1"
login - nazwa użytkownika
password - hasło użytkownika
protocol - protokół: "pop3" lub "imap"
folder - nazwa folderu do otwarcia (domyślnie "INBOX")
Throws:
MessagingException - błąd wygenerowany przez java.mail

openMailBox

public void openMailBox(java.lang.String host,
                        java.lang.String login,
                        java.lang.String password,
                        java.lang.String protocol,
                        java.lang.String folder,
                        java.lang.Long port,
                        boolean trust)
                 throws MessagingException,
                        java.security.GeneralSecurityException
Otwiera wskazaną skrzynkę pocztową i umożliwia przeczytanie zawartych w niej wiadomości. Po wykonaniu wszystkich operacji skrzynkę należy zamknąć funkcją closeMailBox() jeszcze w tym samym wywołaniu strony!

Parameters:
host - nazwa hosta pocztowego, np: "mail.test.pl", "192.168.0.1"
login - nazwa użytkownika
password - hasło użytkownika
protocol - protokół: "pop3", "pop3s" lub "imap"
folder - nazwa folderu do otwarcia (domyślnie "INBOX")
trust - czy ufać hostowi nawet jeżeli natąpił problem z certyfikatem ( jeżeli podany false w przypadku problemów zostanie rzucony wyjątek GeneralSecurityException, przy true nie ma takiego problemu)
Throws:
MessagingException - błąd wygenerowany przez java.mail
java.security.GeneralSecurityException - wyjątek gdy trust == false i wystąpi problem z certyfikatem

openMailBox

public void openMailBox(java.lang.String host,
                        java.lang.String login,
                        java.lang.String password,
                        java.lang.String protocol,
                        java.lang.String folder,
                        java.lang.Long socketTimeout)
                 throws MessagingException
Otwiera wskazaną skrzynkę pocztową i umożliwia przeczytanie zawartych w niej wiadomości. Po wykonaniu wszystkich operacji skrzynkę należy zamknąć funkcją closeMailBox() jeszcze w tym samym wywołaniu strony!

Parameters:
host - nazwa hosta pocztowego, np: "mail.test.pl", "192.168.0.1"
login - nazwa użytkownika
password - hasło użytkownika
protocol - protokół: "pop3" lub "imap"
folder - nazwa folderu do otwarcia (domyślnie "INBOX")
socketTimeout - timeout ustawiany na połączeniu, zapisie i odczycie z/do socketu (milisekundy)
Throws:
MessagingException - błąd wygenerowany przez java.mail

closeMailBox

public void closeMailBox(java.lang.Boolean expunge)
                  throws MessagingException
Zamyka aktualnie (w obecnym wywołaniu strony) otwartą skrzynkę pocztową.

Parameters:
expunge - czy wiadomości oflagowane jako DELETED mają być skasowane przed zamknięciem skrzynki
Throws:
MessagingException - błąd wygenerowany przez java.mail
Since:
jPALIO 7.0.36

closeMailBox

public void closeMailBox()
                  throws MessagingException
Zamyka aktualnie (w obecnym wywołaniu strony) otwartą skrzynkę pocztową.

Throws:
MessagingException - błąd wygenerowany przez java.mail

getMessageCount

public java.lang.Long getMessageCount()
                               throws MessagingException

Przykład użycia:

 $email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX")
 Wiadomości: $email.getMessageCount()
 $email.closeMailBox()
 

Returns:
ilość wszystkich wiadomości w aktualnie otwartym folderze (skrzynce)
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder

getDeletedMessageCount

public java.lang.Long getDeletedMessageCount()
                                      throws MessagingException

Przykład użycia:

 $email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX")
 Do skasowania: $email.getDeletedMessageCount()
 $email.closeMailBox()
 

Returns:
ilość wiadomości przeznaczonych do skasowania w aktualnie otwartym folderze (skrzynce)
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder

getUnreadMessageCount

public java.lang.Long getUnreadMessageCount()
                                     throws MessagingException

Przykład użycia:

 $email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX")
 Nieprzeczytanych: $email.getUnreadMessageCount()
 $email.closeMailBox()
 

Returns:
ilość nieprzeczytanych wiadomości
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder

getMessage

public java.util.Map getMessage(java.lang.Long number)
                         throws MessagingException,
                                java.io.IOException
Pobiera wiadomość z aktualnie otwartej skrzynki.

Przykład użycia:

 $email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX")
 $if($>($email.getMessageCount(), 0), {
    $=("@message", $email.getMessage(1))
    Wiadomość od: $email.getFirstEmail($@message.get("from"))
 }, {
    Brak wiadomości!
 })
 $email.closeMailBox()
 

Parameters:
number - numer porządkowy wiadomości (od 1)
Returns:
wiadomość w postaci mapy
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder
java.io.IOException - jeżeli wystąpi błąd odczytu wiadomości

getMessage

public java.util.Map getMessage(java.lang.Object UID)
                         throws MessagingException,
                                java.io.IOException
Pobiera wiadomość z aktualnie otwartej skrzynki.

Parameters:
UID - identyfikator UID wiadomości (String dla POP3 lub Long dla IMAP)
Returns:
wiadomość w postaci mapy
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder
java.io.IOException - jeżeli wystąpi błąd odczytu wiadomości
Since:
jPALIO 7.0.36

flagMessage

public void flagMessage(java.lang.Object UID,
                        java.lang.String flagName,
                        java.lang.Boolean flagValue)
                 throws java.io.IOException,
                        MessagingException,
                        java.lang.NoSuchFieldException,
                        java.lang.IllegalAccessException
Pobiera wiadomość z aktualnie otwartej skrzynki i ustawia jej określoną flagę.

Parameters:
UID - identyfikator UID wiadomości (String dla POP3 lub Long dla IMAP)
flagName - nazwa flagi: ANSWERED, DELETED, DRAFT, FLAGGED, RECENT, SEEN
flagValue - wartość flagi: true - ustawiona, false - wyczyszczona
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder
java.io.IOException - jeżeli wystąpi błąd odczytu wiadomości
java.lang.NoSuchFieldException - jeżeli podano nazwę nieistniejącej flagi
java.lang.IllegalAccessException - jeżeli podano nazwę nieistniejącej flagi
Since:
jPALIO 7.0.36

getFlag

public java.lang.Boolean getFlag(java.lang.Object UID,
                                 java.lang.String flagName)
                          throws java.io.IOException,
                                 MessagingException,
                                 java.lang.NoSuchFieldException,
                                 java.lang.IllegalAccessException
Pobiera wiadomość z aktualnie otwartej skrzynki i zwraca wartość określoną flagę.

Parameters:
UID - identyfikator UID wiadomości (String dla POP3 lub Long dla IMAP)
flagName - nazwa flagi: ANSWERED, DELETED, DRAFT, FLAGGED, RECENT, SEEN
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder
java.io.IOException - jeżeli wystąpi błąd odczytu wiadomości
java.lang.NoSuchFieldException - jeżeli podano nazwę nieistniejącej flagi
java.lang.IllegalAccessException - jeżeli podano nazwę nieistniejącej flagi
Since:
jPALIO 7.2.54

flagMessage

public void flagMessage(java.lang.Long number,
                        java.lang.String flagName,
                        java.lang.Boolean flagValue)
                 throws java.io.IOException,
                        MessagingException,
                        java.lang.NoSuchFieldException,
                        java.lang.IllegalAccessException
Pobiera wiadomość z aktualnie otwartej skrzynki i ustawia jej określoną flagę.

Parameters:
number - numer porządkowy wiadomości (od 1)
flagName - nazwa flagi: ANSWERED, DELETED, DRAFT, FLAGGED, RECENT, SEEN
flagValue - wartość flagi: true - ustawiona, false - wyczyszczona
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder
java.io.IOException - jeżeli wystąpi błąd odczytu wiadomości
java.lang.NoSuchFieldException - jeżeli podano nazwę nieistniejącej flagi
java.lang.IllegalAccessException - jeżeli podano nazwę nieistniejącej flagi
Since:
jPALIO 7.0.36

getFlag

public java.lang.Boolean getFlag(java.lang.Long number,
                                 java.lang.String flagName)
                          throws java.io.IOException,
                                 MessagingException,
                                 java.lang.NoSuchFieldException,
                                 java.lang.IllegalAccessException
Pobiera wiadomość z aktualnie otwartej skrzynki i zwraca wartość określoną flagę.

Parameters:
number - numer porządkowy wiadomości (od 1)
flagName - nazwa flagi: ANSWERED, DELETED, DRAFT, FLAGGED, RECENT, SEEN
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder
java.io.IOException - jeżeli wystąpi błąd odczytu wiadomości
java.lang.NoSuchFieldException - jeżeli podano nazwę nieistniejącej flagi
java.lang.IllegalAccessException - jeżeli podano nazwę nieistniejącej flagi
Since:
jPALIO 7.2.54

listAllMessages

public void listAllMessages(java.lang.String paramName,
                            java.lang.Boolean getMessageContent,
                            palio.compiler.PalioCode code)
                     throws MessagingException,
                            palio.PalioException,
                            java.io.IOException
Funkcja iteruje po wszystkich wiadomościach z aktualnie otwartej skrzynki pocztowej. Działa podobnie jak funkcja for.

Przykład użycia:

 $email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX")
 $=("@message", (Map)null)
 $email.listAllMessages("@message", false, {
     Wiadomość od: $email.getFirstEmail($@message.get("from"))
 })
 $email.closeMailBox()
 

Parameters:
paramName - nazwa parametru pod który będzie podstawiona aktualna wiadomość (Map)
getMessageContent - czy funkcja ma pobierać również treść wiadomości
code - kod wykonywany dla każdej wiadomości
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder
palio.PalioException - jeżeli wystąpi błąd podczas próby wykonania kodu code
java.io.IOException - jeżeli wystąpi błąd odczytu wiadomości

listAllMessages

public void listAllMessages(java.lang.String paramName,
                            palio.compiler.PalioCode code)
                     throws MessagingException,
                            palio.PalioException,
                            java.io.IOException
Funkcja iteruje po wszystkich wiadomościach z aktualnie otwartej skrzynki pocztowej. Działa podobnie jak funkcja for.

Przykład użycia:

 $email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX")
 $=("@message", (Map)null)
 $email.listAllMessages("@message", {
     Wiadomość od: $email.getFirstEmail($@message.get("from"))
 })
 $email.closeMailBox()
 

Parameters:
paramName - nazwa parametru pod który będzie podstawiona aktualna wiadomość (Map)
code - kod wykonywany dla każdej wiadomości
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder
palio.PalioException - jeżeli wystąpi błąd podczas próby wykonania kodu code
java.io.IOException - jeżeli wystąpi błąd odczytu wiadomości

listMessages

public void listMessages(java.lang.String paramName,
                         java.lang.Long from,
                         java.lang.Long to,
                         palio.compiler.PalioCode code)
                  throws MessagingException,
                         palio.PalioException,
                         java.io.IOException
Funkcja iteruje po wybranym zakresie wiadomości z aktualnie otwartej skrzynki pocztowej. Działa podobnie jak funkcja for .

Przykład użycia (5 pierwszych wiadomości):

 $email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX")
 $=("@message", (Map)null)
 $email.listMessages("@message", 1, 5, {
     Wiadomość od: $email.getFirstEmail($@message.get("from"))
 })
 $email.closeMailBox()
 

Parameters:
paramName - nazwa parametru pod który będzie podstawiona aktualna wiadomość (Map)
from - pierwsza wiadomośc (wiadomości numerowane są od 1)
to - ostatnia wiadomość (wiadomości numerowane są od 1)
code - kod wykonywany dla każdej wiadomości
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder
palio.PalioException - jeżeli wystąpi błąd podczas próby wykonania kodu code
java.io.IOException - jeżeli wystąpi błąd odczytu wiadomości

listMessagesBySentDate

public void listMessagesBySentDate(java.lang.String paramName,
                                   java.util.Date from,
                                   java.util.Date to,
                                   palio.compiler.PalioCode code)
                            throws MessagingException,
                                   palio.PalioException,
                                   java.io.IOException
Funkcja iteruje po wybranym zakresie wiadomości z aktualnie otwartej skrzynki pocztowej. Zakres jest ustalany według zasady:
from ≤ message.sentDate ≤ to
Działa podobnie jak funkcja for.

Przykład użycia (dzisiejsze wiadomości):

 $email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX")
 $=("@message", (Map)null)
 $email.listMessagesBySentDate("@message", $today(), (Date) null, {
     Wiadomość od: $email.getFirstEmail($@message.get("from"))
 })
 $email.closeMailBox()
 

Parameters:
paramName - nazwa parametru pod który będzie podstawiona aktualna wiadomość (Map)
from - data początkowa (jeśli jest argument jest null brana jest data 1900-01-01)
to - data końcowa (jeśli jest argument jest null brana jest data 9999-12-31)
code - kod wykonywany dla każdej wiadomości
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder
palio.PalioException - jeżeli wystąpi błąd podczas próby wykonania kodu code
java.io.IOException - jeżeli wystąpi błąd odczytu wiadomości

listMessagesBySentDate

public void listMessagesBySentDate(java.util.Date from,
                                   java.util.Date to,
                                   Closure code)
                            throws MessagingException,
                                   palio.PalioException,
                                   java.io.IOException
Działanie funkcji identycznie jak listMessagesBySentDate(String, Date, Date, PalioCode). Jedyna różnica to że code jest w Groovy. Jako argument do closure code jest przekazywana wiadomość (Map).

Parameters:
from - data początkowa (jeśli jest argument jest null brana jest data 1900-01-01)
to - data końcowa (jeśli jest argument jest null brana jest data 9999-12-31)
code - kod wykonywany dla każdej wiadomości
Throws:
MessagingException - jeżeli aktualnie nie jest otwarty żaden folder
palio.PalioException - jeżeli wystąpi błąd podczas próby wykonania kodu code
java.io.IOException - jeżeli wystąpi błąd odczytu wiadomości
See Also:
listMessagesBySentDate(String, Date, Date, PalioCode)

getEmails

public static java.lang.Object[] getEmails(java.lang.Object addresses)
Funkcja pomocnicza do wyciągania adresów e-mail z tablicy javax.mail.Address[].

Przykład użycia:

 $email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX")
 $if($>($email.getMessageCount(), 0), {
    $=("@message", $email.getMessage(1))
    Wiadomość do: $text.join($email.getEmails($@message.get("recipients_to")), ", ")
 }, {
    Brak wiadomości!
 })
 $email.closeMailBox()
 

Parameters:
addresses - obiekt poczodzący z pól: from, reply_to, recipients_to, recipients_cc, recipients_bcc pobranej wiadomości
Returns:
tablica adresów e-mail (String)

getFirstEmail

public static java.lang.String getFirstEmail(java.lang.Object addresses)
Funkcja pomocnicza do wyciągania pierwszego adresu e-mail z tablicy javax.mail.Address[]. Najbardziej przydatna tam, gdzie spodziewamy się tylko jednego adresu, np. pola: from, reply_to.

Przykład użycia:

 $email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX")
 $if($>($email.getMessageCount(), 0), {
    $=("@message", $email.getMessage(1))
    Wiadomość od: $email.getFirstEmail($@message.get("from"))
 }, {
    Brak wiadomości!
 })
 $email.closeMailBox()
 

Parameters:
addresses - obiekt poczodzący z pól: from, reply_to, recipients_to, recipients_cc, recipients_bcc pobranej wiadomości
Returns:
tablica pierwszy adres e-mail z podanej tablicy adresów

getPartHeaders

public static java.util.Map getPartHeaders(java.lang.Object contentPart)
                                    throws MessagingException
Funkcja zwraca mapę parametrów przypisanych do danej części wiadomości. Najczęściej używane parametry to: Content-type, Content-disposition, Content-transfer-encoding.

Podstawowe parametry można wyciągnąć bezpośrednio:

 $email.openMailBox("mail.test.pl", "user", "pass", "pop3", "INBOX")
 $if($>($email.getMessageCount(), 0), {
     $=("@message", $email.getMessage(1))
     $if($>((Long)$@message.get("content_count"), 1), {
         $=("@secondPart", (javax.mail.Part)$util.get((Object[])$@message.get("content_parts"), 1))
         Content type of second part: $@secondPart.getContentType()
         File name of second part: $@secondPart.getFileName()
         Disposition of second part: $@secondPart.getDisposition()
     })
 })
 $email.closeMailBox()
 

Parameters:
contentPart - część wiadomości
Returns:
mapa parametrów tej częsci wiadomości
Throws:
MessagingException - błąd wygenerowany przez java.mail

getPartContent

public static byte[] getPartContent(java.lang.Object contentPart)
                             throws MessagingException,
                                    java.io.IOException
Zwraca binarną treść przypisaną do danej części wiadomości.

Parameters:
contentPart - część wiadomości
Returns:
treść części wiadomości
Throws:
MessagingException - błąd wygenerowany przez java.mail
java.io.IOException - jeżeli wystąpi błąd odczytu wiadomości

sendMessage

public void sendMessage(java.lang.String host,
                        java.lang.String login,
                        java.lang.String password,
                        java.lang.String from,
                        java.lang.Object[] to,
                        java.lang.Object[] cc,
                        java.lang.Object[] bcc,
                        java.lang.String subject,
                        java.lang.String text,
                        java.lang.String charset,
                        java.lang.Object attachments)
                 throws MessagingException,
                        java.io.UnsupportedEncodingException
Wysyła wiadomość e-mail typu multipart (z możliwością załączenia plików lub treści HTML). Funkcja tworzy oddzielną sesję SMTP do wysłania wiadomości.

Przykładowe wywołania:

 $email.sendMessage("smtp.mail.pl", "kowalski", "tajne", "Jan Kowalski ",
    ["Bolek Szczypiorek "], (Object[])null, (Object[])null,
    "Witam!", "Witam serdecznie i pozdrawiam wszystkich informatyków! Jan", "ISO-8859-2", null)

 $email.sendMessage("smtp.mail.pl", "kowalski", "tajne", "Jan Kowalski ",
    ["Bolek ", "Lolek "], ["Tola "], (Object[])null,
    "Przesyłam załączniki!", "Oto moje pliki z P_MEDIA z ID 1 i 2!", "ISO-8859-2",
    $sql.read("select FILE_NAME,CONTENT,(select VALUE from P_MIME_TYPES where ID=P_MIME_TYPE_ID) from P_MEDIA where ID in (1,2)"))
 

Od wersji 0.1.1 adresy e-mail są zamieniane na zestaw znaków zgodniy z RFC822.

Parameters:
host - Adres hosta SMTP z którego będzie wysłana wiadomość
login - Nazwa użytkownika, lub null jeżeli sesja nie wymaga uwieżytelnienia
password - Hasło użytkownika, lub null jeżeli login == null
from - Nazwa nadawcy wiadomości - serwer może wymagać, aby w nazwie był adres zgodnay z adresem uwieżytelnionego użytkownika
to - Adresy odbiorców, np: ["Bolek <adres@bolka.pl>", "Lolek <adres@lolka.pl>"]
cc - Adresy odbiorców CC (carbon copy), czyli DW (do wiadomości / kopia dla)
bcc - Adresy odbiorców BCC (blind carbon copy), czyli UDW (ukryte do wiadomości / kopia ukryta)
subject - Temat wiadomości
text - Treść wiadomości
charset - Kodowanie znaków w treści wiadomości
attachments - Załączniki: null lub tablica [(String)nazwa_pliku, (byte[])treść, (String)typ_MIME] - w przypadku jednego załącznika, lub lista tablic - w przypadku wielu załączników
Throws:
MessagingException - Błąd wysyłki wiadomości
java.io.UnsupportedEncodingException - Nieprawidłowe kodowanie
Since:
0.1.0

sendMessage

public void sendMessage(java.lang.String host,
                        java.lang.String login,
                        java.lang.String password,
                        java.lang.String from,
                        java.lang.Object[] to,
                        java.lang.Object[] cc,
                        java.lang.Object[] bcc,
                        java.lang.String subject,
                        java.lang.String text,
                        java.lang.String charset,
                        java.lang.String textType,
                        java.lang.Object attachments)
                 throws MessagingException,
                        java.io.UnsupportedEncodingException
Wysyła wiadomość e-mail typu multipart (z możliwością załączenia plików lub treści HTML). Funkcja tworzy oddzielną sesję SMTP do wysłania wiadomości. Message is authenticated by TLS method.

Przykładowe wywołania:

 $email.sendMessage("smtp.mail.pl", "kowalski", "tajne", "Jan Kowalski ",
    ["Bolek Szczypiorek "], (Object[])null, (Object[])null,
    "Witam!", "Witam serdecznie i pozdrawiam wszystkich informatyków! Jan", "ISO-8859-2", null)

 $email.sendMessage("smtp.mail.pl", "kowalski", "tajne", "Jan Kowalski ",
    ["Bolek ", "Lolek "], ["Tola "], (Object[])null,
    "Przesyłam załączniki!", "Oto moje pliki z P_MEDIA z ID 1 i 2!", "ISO-8859-2", null,
    $sql.read("select FILE_NAME,CONTENT,(select VALUE from P_MIME_TYPES where ID=P_MIME_TYPE_ID) from P_MEDIA where ID in (1,2)"))
 

Od wersji 0.1.1 adresy e-mail są zamieniane na zestaw znaków zgodniy z RFC822.

Parameters:
host - Adres hosta SMTP z którego będzie wysłana wiadomość
login - Nazwa użytkownika, lub null jeżeli sesja nie wymaga uwieżytelnienia
password - Hasło użytkownika, lub null jeżeli login == null
from - Nazwa nadawcy wiadomości - serwer może wymagać, aby w nazwie był adres zgodnay z adresem uwieżytelnionego użytkownika
to - Adresy odbiorców, np: ["Bolek <adres@bolka.pl>", "Lolek <adres@lolka.pl>"]
cc - Adresy odbiorców CC (carbon copy), czyli DW (do wiadomości / kopia dla)
bcc - Adresy odbiorców BCC (blind carbon copy), czyli UDW (ukryte do wiadomości / kopia ukryta)
subject - Temat wiadomości
text - Treść wiadomości
charset - Kodowanie znaków w treści wiadomości
textType - Podtyp treści, np: html
attachments - Załączniki: null lub tablica [(String)nazwa_pliku, (byte[])treść, (String)typ_MIME] - w przypadku jednego załącznika, lub lista tablic - w przypadku wielu załączników
Throws:
MessagingException - Błąd wysyłki wiadomości
java.io.UnsupportedEncodingException - Nieprawidłowe kodowanie
Since:
jPALIO 7.0.31

sendMessage

public void sendMessage(java.lang.String host,
                        java.lang.String login,
                        java.lang.String password,
                        java.lang.String from,
                        java.lang.Object[] to,
                        java.lang.Object[] cc,
                        java.lang.Object[] bcc,
                        java.lang.String subject,
                        java.lang.String text,
                        java.lang.String charset,
                        java.lang.String textType,
                        java.lang.Object attachments,
                        java.lang.Long port)
                 throws MessagingException,
                        java.io.UnsupportedEncodingException
Wysyła wiadomość e-mail typu multipart (z możliwością załączenia plików lub treści HTML). Funkcja tworzy oddzielną sesję SMTP do wysłania wiadomości. Message is authenticated by TLS method.

Przykładowe wywołania:

 $email.sendMessage("smtp.mail.pl", "kowalski", "tajne", "Jan Kowalski ",
    ["Bolek Szczypiorek "], (Object[])null, (Object[])null,
    "Witam!", "Witam serdecznie i pozdrawiam wszystkich informatyków! Jan", "ISO-8859-2", null, null)

 $email.sendMessage("smtp.mail.pl", "kowalski", "tajne", "Jan Kowalski ",
    ["Bolek ", "Lolek "], ["Tola "], (Object[])null,
    "Przesyłam załączniki!", "Oto moje pliki z P_MEDIA z ID 1 i 2!", "ISO-8859-2", null,
    $sql.read("select FILE_NAME,CONTENT,(select VALUE from P_MIME_TYPES where ID=P_MIME_TYPE_ID) from P_MEDIA where ID in (1,2)")
    , null)
 

Od wersji 0.1.1 adresy e-mail są zamieniane na zestaw znaków zgodniy z RFC822.

Parameters:
host - Adres hosta SMTP z którego będzie wysłana wiadomość
login - Nazwa użytkownika, lub null jeżeli sesja nie wymaga uwieżytelnienia
password - Hasło użytkownika, lub null jeżeli login == null
from - Nazwa nadawcy wiadomości - serwer może wymagać, aby w nazwie był adres zgodnay z adresem uwieżytelnionego użytkownika
to - Adresy odbiorców, np: ["Bolek <adres@bolka.pl>", "Lolek <adres@lolka.pl>"]
cc - Adresy odbiorców CC (carbon copy), czyli DW (do wiadomości / kopia dla)
bcc - Adresy odbiorców BCC (blind carbon copy), czyli UDW (ukryte do wiadomości / kopia ukryta)
subject - Temat wiadomości
text - Treść wiadomości
charset - Kodowanie znaków w treści wiadomości
textType - Podtyp treści, np: html
attachments - Załączniki: null lub tablica [(String)nazwa_pliku, (byte[])treść, (String)typ_MIME] - w przypadku jednego załącznika, lub lista tablic - w przypadku wielu załączników
port - port hostaSMTP z którego będzie wysłana wiadomość
Throws:
MessagingException - Błąd wysyłki wiadomości
java.io.UnsupportedEncodingException - Nieprawidłowe kodowanie
Since:
jPALIO 7.0.31

sendMessageTLS

public void sendMessageTLS(java.lang.String host,
                           java.lang.String login,
                           java.lang.String password,
                           java.lang.String from,
                           java.lang.Object[] to,
                           java.lang.Object[] cc,
                           java.lang.Object[] bcc,
                           java.lang.String subject,
                           java.lang.String text,
                           java.lang.String charset,
                           java.lang.String textType,
                           java.lang.Object attachments,
                           java.lang.Long port)
                    throws MessagingException,
                           java.io.UnsupportedEncodingException
Wysyła wiadomość e-mail typu multipart (z możliwością załączenia plików lub treści HTML). Funkcja tworzy oddzielną sesję SMTP do wysłania wiadomości.

Przykładowe wywołania:

 $email.sendMessage("smtp.mail.pl", "kowalski", "tajne", "Jan Kowalski ",
    ["Bolek Szczypiorek "], (Object[])null, (Object[])null,
    "Witam!", "Witam serdecznie i pozdrawiam wszystkich informatyków! Jan", "ISO-8859-2", null)

 $email.sendMessage("smtp.mail.pl", "kowalski", "tajne", "Jan Kowalski ",
    ["Bolek ", "Lolek "], ["Tola "], (Object[])null,
    "Przesyłam załączniki!", "Oto moje pliki z P_MEDIA z ID 1 i 2!", "ISO-8859-2", null,
    $sql.read("select FILE_NAME,CONTENT,(select VALUE from P_MIME_TYPES where ID=P_MIME_TYPE_ID) from P_MEDIA where ID in (1,2)"))
 

Od wersji 0.1.1 adresy e-mail są zamieniane na zestaw znaków zgodniy z RFC822.

Parameters:
host - Adres hosta SMTP z którego będzie wysłana wiadomość
login - Nazwa użytkownika, lub null jeżeli sesja nie wymaga uwieżytelnienia
password - Hasło użytkownika, lub null jeżeli login == null
from - Nazwa nadawcy wiadomości - serwer może wymagać, aby w nazwie był adres zgodnay z adresem uwieżytelnionego użytkownika
to - Adresy odbiorców, np: ["Bolek <adres@bolka.pl>", "Lolek <adres@lolka.pl>"]
cc - Adresy odbiorców CC (carbon copy), czyli DW (do wiadomości / kopia dla)
bcc - Adresy odbiorców BCC (blind carbon copy), czyli UDW (ukryte do wiadomości / kopia ukryta)
subject - Temat wiadomości
text - Treść wiadomości
charset - Kodowanie znaków w treści wiadomości
textType - Podtyp treści, np: html
attachments - Załączniki: null lub tablica [(String)nazwa_pliku, (byte[])treść, (String)typ_MIME] - w przypadku jednego załącznika, lub lista tablic - w przypadku wielu załączników
port - Port (w przypadku podania null wybrana jest wartość domyślna - port )
Throws:
MessagingException - Błąd wysyłki wiadomości
java.io.UnsupportedEncodingException - Nieprawidłowe kodowanie
Since:
jPALIO 7.2.23

sendMessageSSL

public void sendMessageSSL(java.lang.String host,
                           java.lang.String login,
                           java.lang.String password,
                           java.lang.String from,
                           java.lang.Object[] to,
                           java.lang.Object[] cc,
                           java.lang.Object[] bcc,
                           java.lang.String subject,
                           java.lang.String text,
                           java.lang.String charset,
                           java.lang.String textType,
                           java.lang.Object attachments,
                           java.lang.Long port)
                    throws MessagingException,
                           java.io.UnsupportedEncodingException
Wysyła wiadomość e-mail typu multipart (z możliwością załączenia plików lub treści HTML). Funkcja tworzy oddzielną sesję SMTP do wysłania wiadomości.

Przykładowe wywołania:

 $email.sendMessage("smtp.mail.pl", "kowalski", "tajne", "Jan Kowalski ",
    ["Bolek Szczypiorek "], (Object[])null, (Object[])null,
    "Witam!", "Witam serdecznie i pozdrawiam wszystkich informatyków! Jan", "ISO-8859-2", null)

 $email.sendMessage("smtp.mail.pl", "kowalski", "tajne", "Jan Kowalski ",
    ["Bolek ", "Lolek "], ["Tola "], (Object[])null,
    "Przesyłam załączniki!", "Oto moje pliki z P_MEDIA z ID 1 i 2!", "ISO-8859-2", null,
    $sql.read("select FILE_NAME,CONTENT,(select VALUE from P_MIME_TYPES where ID=P_MIME_TYPE_ID) from P_MEDIA where ID in (1,2)"))
 

Od wersji 0.1.1 adresy e-mail są zamieniane na zestaw znaków zgodniy z RFC822.

Parameters:
host - Adres hosta SMTP z którego będzie wysłana wiadomość
login - Nazwa użytkownika, lub null jeżeli sesja nie wymaga uwieżytelnienia
password - Hasło użytkownika, lub null jeżeli login == null
from - Nazwa nadawcy wiadomości - serwer może wymagać, aby w nazwie był adres zgodnay z adresem uwieżytelnionego użytkownika
to - Adresy odbiorców, np: ["Bolek <adres@bolka.pl>", "Lolek <adres@lolka.pl>"]
cc - Adresy odbiorców CC (carbon copy), czyli DW (do wiadomości / kopia dla)
bcc - Adresy odbiorców BCC (blind carbon copy), czyli UDW (ukryte do wiadomości / kopia ukryta)
subject - Temat wiadomości
text - Treść wiadomości
charset - Kodowanie znaków w treści wiadomości
textType - Podtyp treści, np: html
attachments - Załączniki: null lub tablica [(String)nazwa_pliku, (byte[])treść, (String)typ_MIME] - w przypadku jednego załącznika, lub lista tablic - w przypadku wielu załączników
port - Port (w przypadku podania null wybrana jest wartość domyślna - port )
Throws:
MessagingException - Błąd wysyłki wiadomości
java.io.UnsupportedEncodingException - Nieprawidłowe kodowanie
Since:
0.27