Class: Pop3

@nginstack/engine/lib/email/Pop3~ Pop3


new Pop3(host, port, useSsl)

Classe que implementa um cliente do protocolo POP3 (Post Office Protocol Version 3) definido pelo RFC 1939.

Parameters:
Name Type Description
host string

Nome do host ou endereço IP do servidor POP3.

port number

Número da porta do servidor POP3.

useSsl boolean

Se true, a comunicação entre o Engine e o servidor POP3 será feita através de um canal seguro SSL/TLS.

Example
const pop3 = new Pop3('pop.gmail.com', 995, true);
pop3.login('enginePop3', 'xxxxxx');
const emailSource = pop3.retrieve(1);

const emailMessage = new EmailMessage();
emailMessage.decode(emailSource);

const messagesParts = emailMessage.messagesParts;
let parts = '';
messagesParts.forEach(function (message) {
  parts += message.content + '\n';
});

Members


authCommand :string

Comando que deve ser utilizado na autenticação do usuário. Valores possíveis: 'pass', 'apop' e 'xoauth2'. O valor padrão é pass.

Caso o comando utilizado seja xoauth2, o parâmetro credential do método login deve ser o token de acesso do usuário. Para os comandos pass e apop, o parâmetro credential deve ser a senha do usuário.

Type:
  • string
See:

host :string

Nome do host ou endereço IP do servidor de POP3.

Type:
  • string

port :number

Número da porta que o servidor de POP3 está atendendo requisições.

Type:
  • number

timeout :number

Tempo limite em milissegundos para aguardar resposta de requisições ao servidor de POP3.

Type:
  • number

useSsl :boolean

Indica que a conexão com o servidor POP3 utiliza um canal seguro.

Type:
  • boolean

Methods


delete(messageNumber)

Marca uma mensagem no servidor de POP3 como excluída. A efetivação da deleção é realizada no logout. O comando delete não necessariamente apaga a mensagem do servidor de POP3, em alguns servidores a mensagem é apenas marcada como lida.

Parameters:
Name Type Description
messageNumber number

Número da mensagem no servidor POP3.

Example
const pop3 = new Pop3('pop.gmail.com', 995, true);
pop3.login('enginePop3', 'xxxxxx');
pop3.delete(1);

list( [messageNumber])

Lista o número da mensagem e o seu respectivo tamanho em bytes.

Opcionalmente, pode ser informado um número de mensagem. Caso seja informado, o comando LIST retornará apenas as informações dessa mensagem específica.

Parameters:
Name Type Argument Description
messageNumber number <optional>

Número da mensagem no servidor POP3.

Returns:

Array de objetos contendo informações das mensagens.

Type
Array.<Pop3MessageInfo>
Example
const pop3 = new Pop3('pop.gmail.com', 995, true);
pop3.login('enginePop3', 'xxxxxx');
const list = pop3.list();
let result = '';
for (let i = 0; i < list.length; i++) {
  result += 'Número da mensagem: ' + list[i].messageNumber +
    ' tamanho da mensagem em bytes: ' + list[i].messageSize + ' bytes.\n';
}

login(username, credential)

Realiza a autenticação do usuário no servidor de POP3.

Parameters:
Name Type Description
username string

Nome do usuário no servidor de POP3.

credential string

Senha do usuário no servidor de POP3 ou token de acesso, dependendo do comando de autenticação utilizado. O comando de autenticação é definido pela propriedade authCommand. Os comandos apop e pass utilizam a senha do usuário, já o comando xoauth2 utiliza o token de acesso.

See:
Example
const pop3 = new Pop3('pop.gmail.com', 995, true);
pop3.login('enginePop3', 'xxxxxx');

logout()

Encerra a sessão com o servidor de POP3 e efetiva a marcação de mensagens como lidas ou excluída.


noop()

Envia o comando NOOP para o servidor POP3, esse comando é utilizado para manter a conexão ativa sem realizar nenhuma operação adicional.


reset()

Envia o comando RSET para o servidor POP3. Esse comando restaura o estado da sessão, desmarcando qualquer mensagem marcada para exclusão.


retrieve(messageNumber)

Obtém o conteúdo de uma mensagem do servidor de POP3 e marca a mensagem como lida.

Parameters:
Name Type Description
messageNumber number

Número da mensagem no servidor POP3.

Returns:

Conteúdo do e-mail devolvido pelo servidor POP3, excluindo a linha que indica se a operação foi executada com sucesso.

Type
string
Example
const pop3 = new Pop3('pop.gmail.com', 995, true);
pop3.login('enginePop3','xxxxxx');
const message = pop3.retrieve(1);

status()

Obtém a quantidade de mensagens não lidas no servidor e o tamanho total das mensagens em bytes.

Returns:

Um objeto com as informações de mensagens no servidor. As mensagens marcadas como excluídas não são contabilizadas pelo status.

Type
ServerStatus
Example
const pop3 = new Pop3('pop.gmail.com', 995, true);
pop3.login('enginePop3', 'xxxxxx');
const status = pop3.status();
const result = 'Quantidade de Mensagens: ' + status.messagesCount +
  ' - Tamanho em bytes: ' + status.messagesSize + ' bytes.';