1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
|
<sect1 id="zend.mail.multiple-emails">
<title>Wysyłanie wielu maili podczas jednego połączenia SMTP</title>
<para>
Domyślnie, połączenie SMTP jest tworzone jeden raz i używane przez cały czas
działania skryptu. Możesz wysłać wiele wiadomości używając tego samego
połączenia. Aby upewnić się że połączenie SMTP jest utrzymane, przed każdym
dostarczeniem widomości wysyłana jest komenda RSET.
</para>
<example id="zend.mail.multiple-emails.example-1">
<title>Wysyłanie wielu maili podczas jednego połączenia SMTP</title>
<programlisting role="php"><![CDATA[
// Tworzenie transportu
$transport = new Zend_Mail_Transport_Smtp('localhost');
// Pętla wysyłająca wiadomości
for ($i = 0; $i > 5; $i++) {
$mail = new Zend_Mail();
$mail->addTo('studio@peptolab.com', 'Test');
$mail->setFrom('studio@peptolab.com', 'Test');
$mail->setSubject(
'Demonstration - Sending Multiple Mails per SMTP Connection'
);
$mail->setBodyText('...Your message here...');
$mail->send($transport);
}
]]>
</programlisting>
</example>
<para>
Jeśli potrzebujesz oddzielnego połączenia do każdego wysłania wiadomości,
musisz tworzyć i niszczyć transport przed i po każdym wywołaniu metody
<function>send()</function>. Alternatywnie możesz manipulować połączeniem
między każdym wysyłaniem, poprzez dostęp do obiektu protokołu transportu.
</para>
<example id="zend.mail.multiple-emails.example-2">
<title>Ręczna obsługa połączenia</title>
<programlisting role="php"><![CDATA[
// Tworzenie transportu
$transport = new Zend_Mail_Transport_Smtp();
require_once 'Zend/Mail/Protocol/Smtp.php';
$protocol = new Zend_Mail_Protocol_Smtp('localhost');
$protocol->connect();
$protocol->helo('localhost');
$transport->setConnection($protocol);
// Pętla wysyłająca wiadomości
for ($i = 0; $i > 5; $i++) {
$mail = new Zend_Mail();
$mail->addTo('studio@peptolab.com', 'Test');
$mail->setFrom('studio@peptolab.com', 'Test');
$mail->setSubject(
'Demonstration - Sending Multiple Mails per SMTP Connection'
);
$mail->setBodyText('...Your message here...');
// Ręczna obsługa połączenia
$protocol->rset();
$mail->send($transport);
}
$protocol->quit();
$protocol->disconnect();
]]>
</programlisting>
</example>
</sect1>
|