Настроить mail php: Настраиваем функцию mail в PHP

Содержание

Общие настройки почты Joomla сайта, урок 25

 

Тема урока

В этом уроке, посмотрим, как сделать общие надстройки почты Joomla сайта для отправки сообщений пользователям сайта.

Вступление

В общих настройках Joomla, хотелось бы выделить настройки почты. По умолчанию они не настроены, так как требуют ввода пользовательских данных.

Настройка почты позволит отправлять простые текстовые письма (сообщения) пользователям, зарегистрированным на сайте из панели администратора (вкладка Пользователи>>>Массовая рассылка). Отправка писем может производиться по отдельным адресам и группам пользователей.

Как попасть в настройку почты

Настройка почты находится на вкладке Общие настройки>>>Сервер>>>Блок «Настройки почты».

Варианты настройки почты

В системе Joomla предусмотрено три варианта настроить почтовую рассылку. В настройках они называются «Способы отправки».

— Способ PHP mail. Позволяет использовать функцию php (http://php.net/manual/ru/function.mail.php) для отправки почтовых сообщений. Работает в версиях PHP 4,5,7.

— Способ отправки SMTP. Задействует для отправки сторонний сервер отправки электронных писем SMTP, например: Gmail или Яндекс.Почта.  

— Sendmail. Если на вашем сервере установлен сервис рассылки электронных писем Sendmail, можно попробовать использовать его.

Как выбрать способ отправки писем

Три способа отправки писем Joomla, ставят первый вопрос, какой способ отправки писем выбрать?

Способ отправки PHP Mail

Данный способ, предполагает, что вы можете создать и активировать почтовый домен и к нему, почтовый ящик для домена сайта на своём сервере.

Стоит отметить, что многие хостинг провайдеры, ограничивают массовую рассылку писем и могут устанавливать лимиты на их  отправку. Чтобы не было проблем с хостинг провайдером, узнайте есть ли такие  ограничения.     

Способ отправки SMTP

SMTP это аббревиатура почтового протокола, Simple Mail Transfer Protocol. Этот способ предполагает, что система Joomla будет рассылать письма, через сторонние SMTP сервера. Такими серверами являются, Яндекс, Gmail, Rambler , Mail, HotMail. Для задействования этого способа нужен аккаунт на одном из этих почтовых сервисов.

Данный способ, априори имеет ограничения по возможному количеству отправок писем. Эти ограничения есть на любом общедоступном сервер SMTP.

Способ отправки Sendmail

Sendmail это почтовый агент (программа) распространяемая Sendmail, Inc. (https://www.proofpoint.com/us/sendmail-open-source) по лицензии «opensource». Программа несколько устарела, но может быть установлена на вашем сервере.

Общие настройки почты Joomla

Посмотрим, как выставить каждый из перечисленных способов отправки писем и сделать тестовую проверку настроек.

Настройка способа отправки почты PHP Mail

Для задействования этого способа, вам понадобится почтовый домен и почтовый ящик на вашем хостинге. Создаются они в административной панели хостинга.

В этой настройке нам нужен только созданный адрес (Email) почтового ящика. Его и вписываем в поле «Email сайта». Не забываем включить отправку почты и включить массовую рассылку. Остальные поля имеют информационное значение.

Примечание: Если не хотите «мусорить» почту на сервере, в поле email для обратных ответов, впишите другой email из общественных почтовых ящиков.

Тестирование

Внизу настройки есть кнопка «Отправить текстовое сообщение», которая служит для тестовой проверки выполненной настройки. Если вы всё настроили правильно и почта на вашем сервисе исправна, то в почтовый ящик созданный на вашем сервере вы получите такое сообщение.

Это тестовое сообщение отправлено с помощью «PHP Mail». Если вы получили его, настройки электронной почты установлены правильно!

Настройка способа отправки почты SMTP

В этом способе отладки рассылки, можно не задействовать сервер хостинга. В этом варианте используем сторонние почтовые сервера Яндекс, Mail, Gmail, Rambler, Hotmail.

К сожалению, все эти сервера имеют строгие лимиты на отправку почты в час или день. Лимиты постоянно меняются, так например на сегодня, для Яндекс это одно письмо можно отправить сразу только 35 адресатам (массовая рассылка).

Для настройки SMTP отправки вам понадобится:

  • Свой почтовый ящик (аккаунт) на почтовом сервере- пишем в поле «Имя пользователя SMTP»;
  • Адрес почтового сервера SMTP – пишем в поле «SMTP-сервер»;
  • Тип соединения (защищен или нет) — пишем в поле «Защита SMTP»;
  • Пароль почтового ящика пишем в поле «Пароль для SMTP»
  • Порт соединения – пишем в поле «Порт SMTP-сервера ».

Взять эти данные нужно в информационных данных на сервере почтовика. Например для рассылки через Яндекс.Почта это будут такие данные:

  • адрес почтового сервера (отправка) — smtp.yandex.ru;
  • защита соединения — SSL;
  • порт — 465.

Примечание: Для задействования способа рассылки через SMTP заведите отдельный почтовый ящик.

Способ отправки Sendmail

Если на вашем сервере стоит программа Sendmail, в поле:

  • Способ отправки выберете Sendmail
  • E-mail сайта впишите свой адрес созданный на Sendmail
  • В поле «Путь к Sendmail» впишите путь к каталогу Sendmail на вашем сервере.

Вывод

В завершении замечу, три момента:

  1. Создать полноценную массовую рассылку писем своим сотням  пользователям через панель Joomla, без специальных расширений, крайне трудно. Пользователей придется делить на группы и отправку осуществлять вручную. Если хотите это сделать поставьте компонент AcyMailing. 
  2. Однако, базовую рассылку писем из панели Joomla можно отлично использовать для внутрикорпоративного общения, рассылая письма сотрудникам или авторам сайта.
  3. Нужно помнить, что настройки почты Joomla сильно зависят от настройки вашего сервера. Поэтому чаще, неудачи в настройке почты нужно искать именно там.

©joomla-abc. ru

Другие уроки

  • 10 лучших WAMP платформ для CMS Joomla под Windows, урок 3

  • 12 Правил оптимизации Joomla сайта, урок 28

  • 2 программы FTP клиент для создания Joomla сайта – FilleZilla, WinSCP, урок 4

  • 33 первых расширения Joomla сайта — плагины и компоненты для расширения функционала сайта, урок 29

  • 5 Программ для работы с изображениями Joomla, урок 6

  • Favicon сайта Joomla – как создать и установить favicon на сайт Joomla, урок 13

  • Joomla модуль Обёртка (Wrapper)

  • Joomla на XAMPP — управление Joomla в автономном режиме на локальной машине, урок 7

  • reCAPTCHA версия 2. 0 на сайте Joomla — капча на Joomla сайте

  • URL Joomla: SEF, ЧПУ, убрать index урок 59

 

Отправка почты php через smtp c локального сервера

Главная / Уроки joomla / Отправка почты php через smtp в cms-joomla

Опубликовано 10 января 2018

Изменен: 21 июня, 2020

352

Отправка почты php через smtp популярных почтовых сервисов яндекса, гугла и mail ru, может осуществляться и с локального сервера, если программное обеспечение такого сервера позволяет это сделать.

Одним из таких серверов, является openserver и все что нужно для работы с почтой, у него есть. Использование возможностей таких серверов, позволяет создавать, тестировать и настраивать новые сайты, скрипты и приложения на компьютере, без подключения услуг хостинг-провайдеров.

 

В этом уроке рассмотрим вариант отправки почты php через smtp на движке joomla, с помощью локального сервера openserver. Чтобы было все наглядно и правильно, лучше конечно создать в яндексе, гугле и mail ru по одному почтовому ящику, а данные для авторизации лучше записать.

В каждом таком сервисе есть возможность отправки писем через smtp (широко используемый сетевой протокол). Именно они производят отправку сообщений, все остальные (сами скрипты, cms и пр.), лишь формирую эти сообщения.

Для настройки отправки почты php через smtp, нужно проделать некоторые шаги:

  1. Создать почтовый ящик, или несколько yandex, google, mail ru
  2. Установить и настроить openserver
  3. Установить joomla на openserver

Затем можно приступать к настройке openserver для отправки почты php через smtp, в данном случае показан шаблон для smtp яндекса. Вместо слова «test» необходимо подставить свои реальные значения.

При необходимости настроить несколько почтовых серверов, лучше всего настроить отправку почты php через smtp в openserver с помощью профилей. В этом случае не придется несколько раз переделывать настройки. Как работать с профилями показано в видеоуроке настройка php для разных cms-систем.

Отправка почты php через smtp яндекса в joomla

В общих настройках системы, в меню «сервер», выставляем следующие параметры:
Включаем режим отправки почты в положение «Да», указываем реальный адрес куда будет отправляться почта и устанавливаем способ отправки-PHP Mail

Как все будет готово, можно отправлять сообщение нажав на кнопку «Отправить тестовое сообщение». Если все правильно настроено, на почту указанную в настройках joomla, придет тестовое письмо.

Отправка почты php через smtp mail ru

В настройках mail ru все точно так же как и в яндексе. Вместо слова «test», подставляем свои данные. После сохранения настроек, опять отправляем тестовое сообщение.

Отправка почты php через smtp google в joomla

В гугле немного сложнее создавать аккаунты и система безопасности там лучше. По этой причине вместо письма придет уведомление безопасности и о дальнейших действиях по подключению приложений.

В любом случае, все будет работать.

В данном уроке были рассмотрены варианты отправки почты php через smtp трех почтовых сервисов. Отправка почты php через smtp Yahoo и Rambler будет происходить точно так же.

Непосредственно в почтовом ящике, в строке от кого, будут указаны smtp тех сервисов, через которые производились отправки. На скриншоте они показаны стрелками.

Если использовать для отправки почты скрипт, то почта будет приходить на почтовый адрес указанный в скрипте, а пересылаться будет через тот smtp, который указан в последних настройках openserver.

 

Как включить лог сообщений phpmail | REG.RU

На виртуальном хостинге

  • чаще всего лог phpmail включают для определения источника рассылки спама;
  • данная инструкция применима только к hosting linux;
  • mail.log работает только на версии PHP 5. 3 и выше.

Для активации лога необходимо в файл php.ini вставить следующие строки:

mail.add_x_header = On
mail.log = 'путь-до-каталога-хостинга/phpmail.log'

Путь до каталога хостинга имеет вид:

  • ISPmanager: /var/www/u1234567/data/
  • ParallelsPlesk: /var/www/vhosts/u1234567.plsk.regruhosting.ru/
  • cPanel: /var/www/u1234567/

Где u1234567 — ваш логин хостинга.

Как внести изменения в php.ini?

Готово, вы включили логирование сообщений.

На VPS

  1. 1.

    В папке сайта создайте файл info.php и запишите в него следующие строки:

  2. 2.

    Перейдите по адресу ваш_сайт/info.php

    Вы можете добавить логирование почты только для конкретного сайта или для всех сайтов на сервере.

    • чтобы добавить настройки для одного сайта, необходимо внести записи в файл, путь к которому указан в «Loaded Configuration File», в нашем примере это /var/www/php-bin/user_name/php.ini
    • чтобы добавить настройки для всех сайтов на сервере, необходимо внести записи в файл php.ini, путь к которому указан в строке «Configuration File (php.ini) Path». В нашем примере путь до общего файла php.ini выглядит так: /opt/php/5.3/etc/php.ini
  3. 3.

    для логирования сообщений добавьте ниже следующий код в конец файла php.ini.

    Права на файл php.ini могут ограничивать запись в него. Поэтому, перед изменением файла разрешите запись в него через панель ISPmanager, или через SSH при помощи команды: chmod +w /путь/php.ini

    Код для настройки логирования

    mail.add_x_header = On
    mail.log = "/var/tmp/php. mail.log"

    /var/tmp/php.mail.log — это файл, в который будет записываться лог отправки сообщений посредством php mail. Права на данный файл должны разрешать запись в него. Вы можете дать права на запись через панель ISPmanager, или через SSH, при помощи команды:

    chmod +w /var/tmp/php.mail.log
  4. 4.

    Перезапустите сервер Apache, для этого выполните команду:

    • CentOS: service httpd restart;
    • Debian, Ubuntu: service apache2 restart.

Готово, вы включили логирование сообщений.

Помогла ли вам статья?

49
раз уже
помогла

Настройка MSMTP для отправки писем PHP mail() через сервисы Gmail и Yandex

Для начала необходимо установить msmtp:

Centos 6. 5 — 7 установка выполняется так:

yum install msmtp

Ubuntu/Debian установка при помощи apt-get:

apt-get install msmtp

Настраиваем:

vi ~/.msmtprc

или

nano ~/.msmtprc

Заполняем файл .msmtprc.

Для Yandex:


account yandex
logfile /var/log/msmtp.log
host smtp.yandex.ru
port 587
from [email protected]
keepbcc on
auth on
user [email protected]
password PAss
tls on
tls_starttls on

Для Yahoo:


account yahoo
tls on
tls_starttls off
tls_certcheck off
auth on
host smtp.mail.yahoo.com
user usr
from [email protected]
password yourYahooPass

Для Gmail:


account gmail
tls on
tls_certcheck off
auth on
host smtp.gmail.com
port 587
user [email protected]
from [email protected]
password yourgmailPass

И устанавливаем права на файл:

chmod 600 ~/. msmtprc

Для проверки функционирования, сделаем тестовое письмо:


echo -e "From: [email protected] \n\
To: [email protected] \n\
Subject: Hello World \n\
\n\
This email was sent using MSMTP via mail.com.ru." >> sample_email.txt

Попробуем его отправить:

cat sample_email.txt | msmtp --debug -a gmail [email protected]

Обратите внимание, что необходимо выбрать аккаунт указав параметр -a gmail, если ввели более одного в файл .msmtprc

Можно также проверить отправку почты так:

echo "hello from mail.com.ru." | msmtp --debug -a default [email protected]

cp -p ~/.msmtprc /etc/.msmtp_php
chown www-data:www-data /etc/.msmtp_php

Устанавливаем права для Apache т.к. он может быть запущен от имени другого пользователя, например apache:apache

Редактируем php.ini:

nano /etc/php5/php.ini

или

nano /etc/php.ini

И редактируем sendmail_path =

sendmail_path = "/usr/bin/msmtp -C /etc/. msmtp_php --logfile /var/log/msmtp.log -a gmail -t"

Создаём лог файл


touch /var/log/msmtp.log
chown www-data:www-data /var/log/msmtp.log

и перезагружаем Apache:

service httpd restart

php — Как настроить mail.php Laravel для использования встроенной почтовой функции?

Мне нужно отправить электронное письмо через функцию PHP mail(). Я где-то читал, что мне нужно изменить параметр driver в config/mail.php на sendmail.

По умолчанию это выглядит так:

'driver' => env('MAIL_DRIVER', 'smtp'),

Теперь это выглядит так:

'driver' => 'sendmail',

Также попробовал это:

'driver' => 'mail',

Но все же функция mail() не работает. Что мне нужно изменить?

15

Oleg

20 Апр 2017 в 19:55

4 ответа

Лучший ответ

Вы можете установить свой почтовый файл конфигурации . env как

MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
[email protected]
MAIL_PASSWORD="password"
MAIL_ENCRYPTION=tls

Также настройте конфигурацию в config / mail.php как:

'from' => ['address' => '[email protected]', 'name' => 'Test'],

Тогда вы можете очистить кеш:

php artisan cache:clear
php artisan config:cache
php artisan cache:clear

-23

AddWeb Solution Pvt Ltd
22 Апр 2017 в 11:59

Чтобы использовать почтовый сервер, работающий на localhost, ваш .env файл должен выглядеть следующим образом (функция PHP mail не требует имени пользователя или пароля)

MAIL_DRIVER=smtp
MAIL_HOST=localhost
MAIL_PORT=25
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=null

Затем обновите кеш конфигурации:

php artisan config:cache

22

Ikbel
30 Дек 2018 в 16:05

Вы должны установить свою конфигурацию почты в файле . env. Здесь вы должны установить все свой почтовый драйвер и все детали. Пожалуйста, ознакомьтесь с этой документацией https://laravel.com/docs/5.0/mail.

-1

Jagdish Chaudhary
20 Апр 2017 в 18:09

Чтобы сделать то же самое, что и PHP-функция mail (), в большинстве случаев вам нужно настроить Laravel следующим образом:

Используйте sendmail на .env:

MAIL_DRIVER=sendmail

Хост, пользователь, пароль, порт и шифрование не нужны.

На этом этапе вы можете проверить, работает ли он уже, но иногда также необходим следующий шаг.

Установите новый параметр .env в config / mail.php:

'sendmail' => env('MAIL_SENDMAIL', '/usr/sbin/sendmail -bs')

Установите путь отправки почты в .env. Вы можете проверить sendmail_path в phpinfo (), но обычно это так:

MAIL_SENDMAIL='/usr/sbin/sendmail -t -i'

51

Max Oriola
16 Мар 2018 в 08:41

Как настроить XAMPP для отправки почты с локального хоста с помощью PHP?

PHP, PHP программы, Веб-технологии, Веб-технологии Вопросы

Чтобы настроить сервер XAMPP для отправки почты с локального хоста, мы должны внести изменения в два файла sendmail.ini и php.ini. Откройте папку xampp. По имени «sendmail.ini» присутствует в файле sendmail, а «php.ini» присутствует в файле php в папке xampp .

Шаг 1:

  • Перейдите в C: / xampp / sendmail: откройте файл sendmail.ini в блокноте или любом текстовом редакторе и внесите следующие изменения.
    change smtp_server=mail.yourdomain.com to smtp_server=smtp.gmail.com
    change smtp_port to smtp_port=587
    change smtp_ssl=auto to smtp_ssl=tls

    uncomment ;error_logfile=error.log to error_logfile=error.log
    uncomment ;debug_logfile=debug.log to debug_logfile=debug.log
    write your gmail id in auth_username: auth_username=*****@gmail.com
    write your gmail assword in auth_password: auth_password=*****

    write your gmail id in force_sender: *****@gmail. com
    change hostname to hostname=localhost

Шаг 2

  • Перейдите в C: / xampp / php: откройте файл php.ini в блокноте или в любом текстовом редакторе, перейдите в [mail function] и внесите следующие изменения.
    comment SMTP=localhost by putting semicolon infront=>;SMTP=localhost
    comment smtp_port=25 by putting semicolon infront=>;smtp_port=25
    comment sendmail_from= by putting semicolon infront=>;sendmail_from=specify path of
     file in sendmail_path to sendmail_path=C:\xampp\sendmail\sendmail.exe
    
    check if extension=php_openssl.dll is enabled=>If there is semicolon in front then
     un-comment it by removing that semicolon
    

    После выполнения указанных шагов, если письмо не было отправлено с помощью функции mail, перейдите в C: / xampp / sendmail и откройте error.log, чтобы увидеть, что произошла ошибка.

Примечание. Здесь показана процедура для gmail, но ее можно распространить на другие письма, изменив сервер smtp и номер порта. При использовании gmail позаботьтесь о том, чтобы включить параметр, позволяющий получить доступ к менее защищенному веб-приложению.

Рекомендуемые посты:

Как настроить XAMPP для отправки почты с локального хоста с помощью PHP?

0.00 (0%) 0 votes

PHP mail под Windows. Отправка почты из PHP скриптов

В этой статье я хочу рассказать об отправке почты из php скриптов под Windows.

С точки зрения php программиста отправка почты выполняется с помощью стандартной функции mail().

И вот тут у многих начинающих разработчиков возникает проблема. Скрипт, прекрасно работающий на сервере хостера, выдает ошибки на локальном компьютере.

Обычно эти ошибки имеют примерно такое описание:
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 E:\www\simplemail\mailer.php on line ......

Дело в том, что функция mail сама по себе почту не отправляет, она просто вызывает программу sendmail, которая в дистрибутив web сервера и php интерпретатора не входит (и не должна).

Sendmail, в свою очередь, для отправки почты использует SMTP сервер.

Таким образом, чтобы php скрипт мог отправлять почту нужно установить и настроить sendmail и SMTP сервер.

Версию sendmail для Windows можно скачать здесь.

Установка и настройка выполняется в три этапа.

1) Распаковываем архив на тот же диск, где установлен php. Например, я создал папку C:\wamp\sendmail.

2) Вносим изменения в файл php.ini:

[mail function]
SMTP =
sendmail_from =
sendmail_path = "C:\wamp\sendmail\sendmail.exe -t"

Как видите, нужно только указать путь к sendmail чтобы php мог ее найти.

3) Настраиваем sendmail. Все настройки находятся в файле sendmail.ini (расположен в папке с sendmail).

Но перед тем как приступать к настройке пару слов об SMTP сервере. Вам совсем не обязательно устанавливать сервер на вашем компьютере. Многие почтовые сервисы предоставляют бесплатный доступ к своим серверам.

Ниже я покажу пример настройки sendmail для работы с SMTP сервером mail.ru, но, естественно, вы выбрать любой другой.

Итак, открываем sendmail.ini и устанавливаем следующие параметры:

smtp_server=smtp.mail.ru ; адрес SMTP сервера
smtp_port=25 ; порт SMTP сервера

default_domain=mail.ru ; домен по-умолчанию

error_logfile=error.log ; файл в который будет записываться лог ошибок

debug_logfile=debug.log ; очень полезная на этапе отладки опция. Протоколируются все операции, которые выполняет sendmail

[email protected] ; имя вашего аккаунта
auth_password=account_password ; ваш пароль

; следующие три опции используются если перед авторизацией на SMTP сервере требуется авторизация на POP3 сервере
pop3_server=pop.mail.ru
[email protected] ru
pop3_password=account_password

; параметр для команды MAIL FROM
[email protected]

hostname=mail.ru

Теперь не забудьте перезапустить web сервер, чтобы изменения вступили в силу.

Чтобы протестировать работу почты напишем простенький скрипт:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Simple Mail</title>
</head>
<body>
<?php
$addr = $_POST['addr'];
$theme = $_POST['theme'];
$text = $_POST['text'];
if (isset($addr) && isset($theme) && isset($text)
		&& $addr != "" && $theme != "" && $text != "") {
	if (mail($addr, $theme, $text, "From: [email protected] ru")) {
		echo "<h4>Сообщение отправлено</h4>";
	}
	else {
		echo "<h4>При отправке сообщения возникла ошибка</h4>";
	}
}
?>
<form action="mailer.php" method="post">
<p>
	<label for="addr">eMail:</label>
	<input type="text" name="addr" size="30" />
</p>
<p>
	<label for="theme">Тема письма:</label>
	<input type="text" name="theme" size="30" />
</p>
<p>
	<label for="text">Текст письма:</label>
	<textarea rows="10" cols="20" name="text"></textarea>
</p>
<p>
	<input type="submit" value="Отправить" />
</p>
</form>
</body>
</html>

Он создает форму с тремя полями для ввода адреса, темы и содержания письма. Нажатие на кнопку «Отправить» отправит запрос этому же скрипту (строка 23).

Если данные введены, то будет вызвана функция mail (строка 15), которая и отправит письмо. В случае успешной отправки функция возвращает true, в противном случае — false.

Как видите, ничего сложного в настойке почты нет.

Удачи!

PHP: Почтовые функции — Руководство

Как упоминалось ранее, для пользователей Windows существует опция поддельного sendmail. Немного более подробное описание того, как это сделать:

Если у вас есть тестовый сервер под управлением Windows и какой-то комбо WAMP (XXAMP, WAMP Server и т. Д.), Вы заметите, что команда PHP sendmail (mail () ) не работает. Windows просто не предоставляет инструкцию sendmail …

Однако есть простой трюк, чтобы заставить это работать;

1) Загрузите (или воспользуйтесь прикрепленным файлом) sendmail.zip с http://glob.com.au/sendmail/

2) Разархивируйте это в папку на вашем диске c: (желательно использовать простой путь, например c: \ wamp \ sendmail — длинные имена файлов могут вызвать проблемы )

3) Отредактируйте файл PHP. INI (примечание: пользователи WAMP должны получить доступ к своему файлу php.ini из меню WAMP). Перейдите в раздел [функция почты] и измените его как таковое:

[функция почты]
; Только для Win32.
; SMTP =

; Только для Win32.
; sendmail_from =

; Только для Unix.Вы также можете указать аргументы (по умолчанию: «sendmail -t -i»).
sendmail_path = «C: \ wamp \ sendmail \ sendmail.exe -t»

; Принудительно добавить указанные параметры в качестве дополнительных параметров
; в двоичный файл sendmail. Эти параметры всегда заменяют значение
; 5-й параметр mail (), даже в безопасном режиме.
; mail.force_extra_paramaters =

.. и сохраните изменения.

4) Откройте sendmail.ini и измените настройки на:

[sendmail]

; вы должны сменить почту.mydomain.com на ваш smtp-сервер,
; или в каталог «подбора» IIS. (обычно C: \ Inetpub \ mailroot \ Pickup)
; электронные письма, доставленные через каталог получения IIS, вызывают sendmail на
; работать быстрее, но вы не будете получать сообщения об ошибках обратно на вызывающий
; заявление.

smtp_server = mail.yourdomain.com

; smtp-порт (обычно 25)

smtp_port = 25

; домен по умолчанию для этого сервера будет прочитан из реестра
; он будет добавлен к адресам электронной почты, если он не указан
; если вы хотите переопределить значение в реестре, раскомментируйте и измените

default_domain = yourdomain.com

; записывать ошибки smtp в error.log (по умолчанию в тот же каталог, что и sendmail.exe)
; раскомментируйте, чтобы включить ведение журнала
; error_logfile = sendmail_error.log

; создать журнал отладки как debug.log (по умолчанию тот же каталог, что и sendmail.exe)
; раскомментируйте, чтобы включить отладку
; debug_logfile = sendmail_debug.log

; если ваш SMTP-сервер требует аутентификации, измените следующие две строки:

; auth_username =
; auth_password =

; если ваш SMTP-сервер использует pop3 перед SMTP-аутентификацией, измените
; следующие три строки

pop3_server = mail. yourdomain.com
[email protected]
pop3_password = mysecretpassword

; заставить отправителя всегда быть следующим адресом электронной почты, раскомментируйте и
; заполните действующий адрес электронной почты. это повлияет только на «ПОЧТА ОТ»
; команда, она не будет изменять заголовок «От:» содержимого сообщения

[email protected]

; sendmail будет использовать ваше имя хоста и ваш default_domain в ehlo / helo
; smtp приветствие. при необходимости вы можете вручную установить имя ehlo / helo.

hostname =

При первой попытке рекомендуется вести журнал ошибок и отладки, чтобы вы знали, что пойдет не так, если это не сработает.
Force_sender также является необязательным, но рекомендуется во избежание путаницы на стороне сервера.
Очевидно mail.yourdomain.com, [email protected] и mysecretpassword должны быть релевантной информацией для вашего SMTP-сервера.
Теперь перезапустите службы WAMP (в основном Apache, чтобы PHP перечитал его конфигурацию).

Теперь вы можете использовать оператор PHP mail (), как если бы вы пользователь Unix …

Почтовые функции PHP


PHP Mail Введение

Функция mail () позволяет отправлять электронные письма прямо из скрипта.


Требования

Для того, чтобы почтовые функции были доступны, PHP требует установленного и работающего
электронная почта. Используемая программа определяется
настройки конфигурации в файле php.ini.


Установка

Почтовые функции являются частью ядра PHP. Нет установки
необходимо использовать эти функции.


Конфигурация времени выполнения

На поведение почтовых функций влияют настройки в php.ini:

Имя По умолчанию Описание Сменный
mail.add_x_header «0» Добавьте X-PHP-Originating-Script, который будет включать UID сценария, за которым следует имя файла. Для PHP 5.3.0 и выше PHP_INI_PERDIR
mail.log ПУСТО Путь к файлу журнала, в котором будут регистрироваться все вызовы mail ().Журнал включает полный путь к сценарию, номер строки, адрес и заголовки. Для PHP 5.3.0 и выше PHP_INI_PERDIR
SMTP «localhost» Только для Windows: DNS-имя или IP-адрес SMTP-сервера PHP_INI_ALL
smtp_port «25» Только для Windows: номер порта SMTP. Для PHP 4.3.0 и выше PHP_INI_ALL
sendmail_from ПУСТО Только для Windows: указывает адрес «от», который будет использоваться при отправке почты из mail () PHP_INI_ALL
sendmail_path «/ usr / sbin / sendmail -t -i» Указывает, где можно найти программу sendmail. Эта директива работает также под Windows. Если установлено, SMTP, smtp_port и sendmail_from игнорируются PHP_INI_SYSTEM

Почтовые функции PHP

Функция Описание
ezmlm_hash () Вычисляет хеш-значение, необходимое для EZMLM
почта () Позволяет отправлять электронные письма прямо из скрипта

Как настроить WordPress для использования SMTP для отправки электронных писем Учебное пособие

По умолчанию WordPress использует функцию PHP Mail для отправки своих писем.Однако лучше использовать SMTP, поскольку он лучше обрабатывает отправку сообщений, и вы также можете использовать его для отправки электронных писем из сторонней почтовой службы.

Вы можете посмотреть наше короткое видео о том, как настроить учетные данные SMTP на сервере: