Функцията mail () е вградена PHP функция, която се използва за изпращане на имейл от localhost. Но някои конфигурации са необходими за изпращане на имейл с помощта на тази функция. За да настроите конфигурацията, ще ви е необходима реалната информация за сървъра на пощата. Можете да използвате информацията за пощенския сървър на вашия активен хостинг сървър или можете да използвате всяка информация за безплатен пощенски сървър. В този урок се използват акаунт в Gmail и информацията за SMTP сървъра на Gmail за изпращане на имейл чрез функцията mail ().
Конфигурация на настройката
За да настроите конфигурацията, ще са необходими два файла: php.ini файл и друг файл е необходим за конфигуриране за настройка на пощенския сървър. Следвайте стъпките, показани по-долу, за да настроите конфигурацията. Много пакети се предлагат в PHP за изпращане на имейл. msmtp е клиент на PHP пощенски сървър, който се използва в този урок за изпращане на имейл чрез функцията PHP mail ().
Стъпки:
Изпълнете следната команда, за да инсталирате msmtp пакет на Ubuntu за настройка на пощенския сървър:
$ sudo apt-get install msmtpСъздайте конфигурационен файл с име / etc / msmtprc със следната команда:
$ sudo nano / etc / msmtprcДобавете следното съдържание към файла. Добавете валиден имейл адрес за потребител и валидната парола за парола който ще се използва за изпращане на имейл. Задайте имейл адреса на подателя за форма стойност.
по подразбиранеtls включено
tls_starttls на
tls_trust_file / etc / ssl / certs / ca-сертификати.crt
акаунт по подразбиране
домакин smtp.gmail.com
порт 587
авт
потребителско име @ gmail.com
парола user_password
от sender_email_address
Изпълнете следните команди, за да зададете собствеността и разрешението за / etc / msmtprc файл:
$ sudo chown fahmida / etc / msmtprc$ sudo chmod 0600 / etc / msmtprc
Отвори php.ini файл и модифицирайте следното съдържание със следните стойности:
SMTP = smtp.gmail.comsmtp_port = 587
sendmail_path = "/ usr / bin / msmtp -t -i"
Синтаксис:
bool поща (низ $ към, низ $ тема, низ $ съобщение [, смесени $ Additional_headers [, низ $ допълнителни_параметри]])Тази функция може да отнеме четири аргумента. Първият аргумент взема имейл адреса на получателя. Вторият аргумент заема темата на имейла. Третият аргумент взема тялото на имейла. Последният аргумент е по избор и съдържа допълнителна информация за имейла като низ или масив.
Изпращане на имейл чрез функцията mail ()
В този раздел на урока са показани различни примери за изпращане на имейл с помощта на функцията mail () на PHP.
Пример 1: Изпратете прост текстов имейл
Този пример показва как може да се изпрати прост текстов имейл с помощта на функцията mail (). Създайте PHP файл със следния скрипт.
Трябва да зададете валиден имейл адрес за $ до променлива, за да получите изхода на следния скрипт. Един прост текст е зададен като тяло на съобщението.
// Задайте имейл адреса на получателя$ до = "[имейл защитен]";
// Задайте темата на имейла
$ subject = "Това е тестов имейл";
// Задаване на тялото на имейла
$ message = "Тества се тялото на имейл";
// Задаване на информация за заглавката
$ headers = "От: [имейл защитен] \ r \ n";
$ заглавки .= "Отговор до: [имейл защитен] \ r \ n";
// Изпращане на имейл с помощта на функцията mail ()
ако (поща ($ до, $ тема, $ съобщение, $ заглавки))
echo "Имейлът е изпратен успешно.\ r \ n ";
друго
echo "Имейлът не е изпратен.
";
?>
Следният изход ще се появи след стартиране на скрипта от уеб сървъра, ако функцията mail () работи правилно.
Следният изход ще се появи, ако проверите входящата поща на имейл адреса, който е зададен като имейл адрес на получателя.
Пример 2: Изпратете имейл с формат HTML
Този пример показва как HTML-форматиран имейл може да се изпраща чрез функцията mail (). Създайте PHP файл със следния скрипт.
$ съобщение променливата се инициализира с HTML съдържание, което ще бъде изпратено като тяло на имейл. Той е споменат в $ заглавка променлива, че съдържанието на имейла е HTML.
// Задайте имейл адреса на получателя$ до = "[имейл защитен]";
// Задайте темата на имейла
$ subject = 'Регистрацията е успешна';
// Задаване на тялото на имейла
$ message = '
Регистрацията ви е завършена успешно.
потребителско име = fahmida20
парола = aswQ34ghqw
';
// Задаване на връщане на каретката
$ nl = "\ r \ n";
// Задайте заглавката тип съдържание
$ headers = 'MIME-версия: 1.0 '.$ nl;
$ заглавки .= 'Тип съдържание: text / html; charset = iso-8859-1 '.$ nl;
// Задайте допълнителната информация за заглавките
$ заглавки .= 'До: Mehrab Hossain'.$ nl;
$ заглавки .= 'От: Администратор'.$ nl;
$ заглавки .= 'Копия: [имейл защитен]'.$ nl;
// Изпращане на имейл чрез функцията за съобщение mail ()
ако (поща ($ до, $ тема, $ съобщение, $ заглавки))
echo "Имейлът е изпратен успешно.\ r \ n ";
друго
echo "Имейлът не е изпратен. \ r \ n ";
?>
Следният изход ще се появи след стартиране на скрипта от уеб сървъра, ако функцията mail () работи правилно.
Следният изход ще се появи, ако проверите входящата поща на имейл адреса, който е зададен като имейл адрес на получателя.
Пример 3: Изпратете имейл с прикачения файл
Този пример показва как може да се изпрати имейл чрез прикачване на текстов файл. Създайте текстов файл със следния скрипт.
Съдържанието на текстовия файл се чете и кодира преди прикачване и функцията md5 () се използва в скрипта за генериране на произволно число за смесено съдържание. Цялата необходима информация е добавена в $ заглавки и $ съобщение променливи преди изпращане на имейла.
// Задайте имейл адреса на получателя$ до = "[имейл защитен]";
// Задайте темата на имейла
$ subject = "Прикачен файл";
// Задаване на връщане на каретката
$ nl = "\ r \ n";
// Задайте произволен хеш, който ще се използва за смесено съдържание
$ разделител = md5 (време ());
// Прочетете съдържанието на прикачения файл
$ filename = 'myfile.текст';
$ content = file_get_contents ($ filename);
$ content = chunk_split (base64_encode ($ content));
// Задайте имейл съобщението с информация за прикачен файл
$ съобщение = "-" . $ разделител . $ nl;
$ съобщение .= "Content-Type: text / plain; charset =" iso-8859-1 "" . $ nl;
$ съобщение .= "Кодиране на трансфер на съдържание: 8 бита" . $ nl;
$ съобщение .= "Към имейла е прикачен текстов файл." . $ nl;
$ съобщение .= "-" . $ разделител . $ nl;
$ съобщение .= "Тип съдържание: приложение / октет-поток; име =" " . $ име на файла . "" . $ nl;
$ съобщение .= "Content-Transfer-Encoding: base64" . $ nl;
$ съобщение .= "Съдържание-разположение: прикачен файл" . $ nl;
$ съобщение .= $ съдържание . $ nl;
$ съобщение .= "-" . $ разделител . "-";
// Задайте заглавката на Content-type
$ headers = 'MIME-версия: 1.0 '.$ nl;
$ заглавки .= "От: [имейл защитен]".$ nl;
$ заглавки .= "Отговор до: [имейл защитен]".$ nl;
$ заглавки .= "Тип съдържание: многочаст / смесен; граница =" " . $ разделител . "" .$ nl;
// Изпращане на имейл чрез функцията за съобщение mail ()
ако (поща ($ до, $ тема, $ съобщение, $ заглавки))
echo "Имейлът е изпратен с прикачен файл успешно.\ r \ n ";
друго
echo "Имейлът не е изпратен. \ r \ n ";
?>
Следният изход ще се появи след стартиране на скрипта от уеб сървъра, ако функцията mail () работи правилно.
Следният изход ще се появи, ако проверите входящата поща на имейл адреса, който е зададен като имейл адрес на получателя.
Заключение
В PHP съществуват много начини за изпращане на имейли. Функцията PHP поща () не работи правилно на Ubuntu след настройка на конфигурацията. Този урок показва необходимите конфигурации и начина за изпращане на имейли с помощта на функцията PHP mail ().