Webmaster общности: Predpriemach.com | SearchEngines.bg

    Обучение в 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 функции.