Обучение в PHP - част 11 (Изпращане и получаване на мейл)

Командата mail()

За да изпратите просто текстово съобщение в електроната поща, трябва да използвате вградената команда mail(). За доставката на съобщенията, тази команда разчита на локалната система за електрона поща. Синтаксисът на функцията е:

boll mail(string to, string subject, string message[,string additional_headers]);

Функцията връща стойност true, ако съобщението е изпратено правилно до локалната система за електронна поща. Това обаче, не означава, че самото съобщение е доставено до получателя. Четвъртия параметър не е засължителен:
Ето и обяснение на параметрите:


-------------------------------------------------------------
Параметър | Значение | Пример |
-------------------------------------------------------------|
To Адрес на получателя, user@mail.com или |
ако е повече от един user@mail.com, |
трябва да се отделят user2@mail.com |
със запетая |
|
Subject Тема на съобщението "user registration" |
|
Message Тяло на съобщението "Hi, \n this is my |
message ! " |
|
additional_ Този низ се добавя "From: |
headers (не- в края на заглавието webmaster@mail.com |
задължите- на съобщението. Ако \r\n Realy-to: |
лен) заглавието заема ня my@mail.com |
колко реда, може да |
ги разделите с "\r |
\n" |
|
-------------------------------------------------------------|


Следващият пример изпраща e-mail до един единствен получател:

<?php

mail ("alabala@mail.com", "Това е темата", "Тялото на съобщението");

?>


Третия параметър съдържа тялото на съобщението. Ако искате да вградите е-маил текст в PHP код, текстът може да се запише на няколко реда:

<?php

mail ("alabala@mail.com", "Това е темата", "Тялото на съобщението", "
Hello, welcome to our server. To access our site, you need the following data:

username: $username
password: $password

If you should have problems with our service, plese contact

");

?>


Ако искате да изпратите дадено съобщение до няколко получателя, трябва да разделите адресите им със запетайки.

<?php

mail ("mail1@mail.com, mail2@mail.com, mail3@mail.com", "Темата темата", "Тялото на съобщението");

?>


Със функцията implode(), можете да създадете масив със списък на получателите.

<?php

$recipients = array("user1@mail.com", "user2@mail.com");
$recipient_list = implode(",",$recipients);

?>


Получаване на електрона поща
Портоколът IMAP (Internet Message Access Protocol) вече навлезе в комерсиалния пазар, след като беше използван години напред като програмно средство, поддържано от самите потребители. IMAP прави няколко основни подобрения на POP, като основното е надеждната доставка на електроната поща, независимо от връзката и условиата за таймаут. За разлика от единствената мисия на POP -да изпрати всички съобщения на изпращащия заявките клиент с удостоверена самоличност - IMAP предава управлението на електроната поща, включително съхранението и извличането на сървъра.

Стандара за IMAP портокола се поддържа добре от PHP и при комбинирането им използване, се получават доста подходящи, надежни и лесни за използване програмни среди за създаване на средства за работа с електрона поща. Като комбинирате PHP и IMAP функциите, можете да получите за кратко време мощни и разнообразни резултати. НЯкой от тях са разгледани по-долу:

imap_open

PHP функцията imap_open() отваря IMAP поток към пощенската кутия.

int imap_open(string пощенска_кутия, string потребител, string парола, int флагове);

В горния код връща при успех IMAP поток или false при грешка. Ако искате да се свържете към IMAP сървър на порт 143 на локалната машина, разгледайте следващия код.

$mbox = imap_open("{localhost:143)INBOX","user_id","password");

За да се свържете към POP3 сървър на 110 порт на локалната машина, използвайте:

$mbox = imap_open("{localhost/pop3:110)INBOX","user_id","password");

За да се свържете с отдалечен сървър, просто заменяте localhost с името или IP адреса на сървъра. В резултат на imap_open се получава IMAP поток от данни, който може да бъде използван от други IMAP PHP функции.


/ Трябва да сте регистриран за да напишете коментар /