Zend_Mail zapewnia możliwość tworzenia i wysyłania tekstowych
wiadomości e-mail oraz wieloczęściowych wiadomości e-mail zgodnych z MIME.
Wiadomość może być wysłana przez Zend_Mail za pomocą
domyślnego transportu Zend_Mail_Transport_Sendmail lub
za pomocą Zend_Mail_Transport_Smtp.
Przykład 570. Wysyłanie prostego e-maila za pomocą Zend_Mail
Prosty e-mail składa się z odbiorców, z tematu, treści i z nadawcy.
Aby wysłać taki e-mail używając Zend_Mail_Transport_Sendmail
możesz zrobić to w ten sposób:
$mail = new Zend_Mail();
$mail->setBodyText('Treść wiadomości e-mail.');
$mail->setFrom('somebody@example.com', 'Nadawca');
$mail->addTo('somebody_else@example.com', 'Odbiorca');
$mail->setSubject('Testowy Temat');
$mail->send();
Minimalne definicje
Aby wysłać e-mail za pomocą Zend_Mail musisz określić chociaż
jednego odbiorcę, nadawcę (np., za pomocą setFrom()), i treść
wiadomości (tekst i/lub HTML).
Dla większości atrybutów obiektu mail są dostępne metody "get" w służące do
odczytywania przechowywanych w nim informacji. Więcej informacji można znaleść
w dokumentacji API. Specjalną metodą jest getRecipients(). Zwraca
ona tablicę w wszystkimi adresami e-mail odbiorców, które zostały dodane.
Ze względów bezpieczeństwa, Zend_Mail filtruje wszystkie nagłówki
aby zapobiec dołączeniu niechcianych nagłówków za pomocą znaku nowej linii
(\n).
You also can use most methods of the Zend_Mail object with a convenient fluent interface. A fluent
interface means that each method returns a reference to the object on which it was called, so you can
immediately call another method.
$mail = new Zend_Mail();
$mail->setBodyText('This is the text of the mail.')
->setFrom('somebody@example.com', 'Some Sender')
->addTo('somebody_else@example.com', 'Some Recipient')
->setSubject('TestSubject')
->send();
The default transport for a Zend_Mail instance is Zend_Mail_Transport_Sendmail.
It is essentially a wrapper to the PHP mail() function.
If you wish to pass additional parameters to the mail() function,
simply create a new transport instance and pass your parameters to the constructor. The new transport instance
can then act as the default Zend_Mail transport, or it can be passed to the send()
method of Zend_Mail.
Przykład 571. Passing additional parameters to the Zend_Mail_Transport_Sendmail transport
This example shows how to change the Return-Path of the mail()
function.
$tr = new Zend_Mail_Transport_Sendmail('-freturn_to_me@example.com');
Zend_Mail::setDefaultTransport($tr);
$mail = new Zend_Mail();
$mail->setBodyText('This is the text of the mail.');
$mail->setFrom('somebody@example.com', 'Some Sender');
$mail->addTo('somebody_else@example.com', 'Some Recipient');
$mail->setSubject('TestSubject');
$mail->send();
Safe mode restrictions
The optional additional parameters will be cause the mail() function to fail
if PHP is running in safe mode.