Помогни ни да направим Uroci.net по - богат! Добави урок

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

PHP » PHP
fix3d   трудност:    видян: 8264

Командата 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)

gangboy на 15.12 2006 в 00:04ч.
Когато пиша в текстареа-та на кирилица и в пощатата всичко излиза ??????????????????????????????????????????????
Как се корегира това ?
firestarteR1 на 13.01 2007 в 17:02ч.
трябва да промениш чарт сета на стр от която изпращаш
selenia на 14.12 2007 в 12:25ч.
През localhost-a се опитвам да изпратя email... възможно ли е или трябва да си регистриран на сървър в Интернет?
Защото когато аз опитвам ми извежда:

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in C:wampwwwsendemail.php on line 2

а това е кода:



Някой да помогне...
menian на 22.07 2008 в 11:33ч.
благодаря за урока, доста е полезен

Регистрирайте се, за да добавите коментар


Калдейта ЕООД - © 2003-2010. Всички права запазени.
Препоръчваме: Национален Бизнес | Bomba.bg | IT Новини | Диплома.бг | TRAVEL туризъм | Реферати | AmAm.bg | Иде.ли | Курсови работи | Фото Форум | Spodeli.net | Фото-Култ | Atol.bg | Elmaz.com | MobileBulgaria.com | Казанлък.Com