Net :: Smtp :: Pipelining

Enviar e-mail usando extensão de pipeling esmtp
Baixe Agora

Net :: Smtp :: Pipelining Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Perl Artistic License
  • Preço:
  • FREE
  • Nome do editor:
  • Marc Beyer
  • Site do editor:
  • http://search.cpan.org/~marcb/

Net :: Smtp :: Pipelining Tag


Net :: Smtp :: Pipelining Descrição

Enviar e-mail usando extensão ESMTP PIPELINING Net :: SMTP :: Pipelining é um módulo Perl que implementa o lado de cliente da extensão PIPELINING SMTP, conforme especificado pela RFC 2920 (http://tools.ietf.org/html/rfc2920). Estende-se o módulo Net :: SMTP populares por subclasse-lo, você pode usar Net :: SMTP :: Pipelining objetos como se fossem rede regular :: SMTP objects.SMTP PIPELINING aumenta a eficiência do envio de mensagens através de uma conexão de rede de alta latência reduzindo o número de comando-resposta round-trips na comunicação cliente-servidor. Para realçar A forma varia de SMTP regulares de PIPELINING (e também a maneira de trabalhar com este módulo), aqui está uma comparação ($ s é o Net :: SMTP ou Net :: SMTP :: Pipelining objeto, $ do remetente e US $ ao destinatário): SMTP regular usando Net :: SMTP: Perl código do cliente resposta do comando Servidor $ s-> correio ($ from); MAIL FROM: 250 Sender ok $ s-> a ($ a); RCPT TO: 250 Destinatário ok $ s-> dados (); dados de correio 354 Iniciar, final com CRLF.CRLF $ s-> DataSend ( "text"); texto $ s-> dataend (); . 250 Mensagem acceptedSending esta mensagem requer 4 trocas de ida e volta entre o cliente eo servidor. Em comparação, Pipelined SMTP usando Net :: SMTP :: Pipelining (ao enviar mais de uma mensagem) requer apenas 2 round-trips para a última mensagem e 1 round-trip para os outros: Perl resposta de código Cliente comando Servidor $ s-> pipeline ({mail => $ from, to => $ a, data => "texto",}); MAIL FROM: RCPT TO: DATA 250 Sender ok 250 Destinatário ok 354 Iniciar correio, final com CRLF.CRLF texto . $ S-> pipeline ({mail => $ from, to => $ a, data => "texto",}); MAIL FROM: RCPT TO: DATA 250 Mensagem enviada 250 Sender ok 250 Destinatário ok 354 Iniciar correio, final com texto CRLF.CRLF. $ S-> pipe_flush (); 250 sentAs Mensagem você pode ver, a chamada gasoduto não concluir o envio de uma única mensagem. Isso ocorre porque a.) RFC 2920 mandatos que os dados sejam o último comando em um grupo de comando pipeline e b.) É neste momento incerto se outra mensagem será enviada depois. Se outra mensagem é enviada imediatamente depois, pelo correio, comandos RCPT e de dados para esta mensagem pode ser incluído no mesmo grupo de comando como o texto da mensagem anterior, economizando assim um round-trip. Se você deseja manipular mensagens de um após o outro sem misturá-los no mesmo grupo de comando, você pode chamar pipe_flush após cada chamada para gasoduto, que irá funcionar bem, mas ser menos eficiente (a comunicação cliente-servidor, em seguida, requer dois round-trips por mensagem em vez de um) .SYNOPSIS uso Net :: SMTP :: Pipelining; my $ smtp = Net :: SMTP :: Pipelining-> new ( "localhost"); my $ remetente = q (sender@example.com); meu (@ bem sucedido, @ falhou); para minha US $ endereço (q (s1@example.com), q (s2@example.com), q (s3@example.com)) {$ SMTP-> pipeline ({mail => $ remetente, to => $ endereço, data => qq (From: $ remetente Este é um e-mail para US $ endereço),}) ou empurrar @failed, @ {$ SMTP-> pipe_rcpts_failed ()}; empurrar @successful, @ {$ SMTP-> pipe_rcpts_succeeded ()}; } $ SMTP-> pipe_flush () ou empurrar @failed, @ {$ SMTP-> pipe_rcpts_failed ()}; empurrar @successful, @ {$ SMTP-> pipe_rcpts_succeeded ()}; imprimir "enviada com sucesso para os seguintes endereços: @successful "; Avisar" Falha de envio para @failed "Se escalar (@failed)> 0; manipulação # mais intrincada de erro if ($ SMTP-> pipeline ({mail => $ remetente, to => $ endereço, data => qq (From: $ remetente! Este é um e-mail para US $ endereço),})) {meus $ errors = $ SMTP-> pipe_errors (); para minha US $ e (@ $ erros) {print "Ocorreu um erro :, dissemos $ e -> {comando}"; imprimir "e o servidor respondeu $ e -> {code} $ e -> {mensagem} "}} Requisitos: · Perl.


Net :: Smtp :: Pipelining Software Relacionado

Vfssimple.

Uma biblioteca para acesso magicamente ao arquivo w / o transportar o método ...

138

Download