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

видян:
8237
Командата
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 |
задължите- на
съобщението. Ако rn 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 функции.
източник на урока:
http://www4u.search.bg
Коментари (4)
Как се корегира това ?