My ISP
учетная запись My ISP
требует, чтобы я отправил имя пользователя и пароль для исходящей почты SMTP
.
Как заставить PHP
использовать это при выполнении php.mail()?
Файл php.ini
содержит только записи для сервера (SMTP= )
и From: (sendmail_from= )
.
Команда PHP mail()
не поддерживает аутентификацию. Ваши варианты:
Я применяю следующие данные в файле php.ini. его работы прекрасны.
SMTP = smtp.example.com smtp_port = 25 username = info@example.com password = yourmailpassord sendmail_from = info@example.com
Эти данные такие же, как и в настройках Outlook.
Используйте Fake sendmail для Windows для отправки почты.
sendmail
в папке C:\wamp\
. sendmail
: sendmail.exe
, libeay32.dll
, ssleay32.dll
и sendmail.ini
. C:\wamp\sendmail\sendmail.ini
: smtp_server=smtp.gmail.com smtp_port=465 auth_username=user@gmail.com auth_password=your_password
Вышеуказанное будет работать против учетной записи Gmail. А затем настройте php.ini:
sendmail_path = "C: \ wamp \ sendmail \ sendmail.exe -t"
Теперь перезапустите Apache, и это в основном все, что вам нужно сделать.
У PHP есть аутентификация по почте!
Для меня работает WAMPSERVER (windows, php 5.2.17)
php.ini
[mail function] ; For Win32 only. SMTP = mail.yourserver.com smtp_port = 25 auth_username = smtp-username auth_password = smtp-password sendmail_from = you@yourserver.com
Я предпочитаю инструмент PHPMailer , поскольку он не требует PEAR. Но в любом случае у вас есть недоразумение: вы не хотите устанавливать PHP-сервер для пользователя и пароля SMTP. Это должно быть настройка для каждого приложения (или для каждой страницы). Если вы хотите использовать одну и ту же учетную запись на разных страницах PHP, добавьте ее в какой-то файл settings.php.
Работая весь день, я наконец нашел решение. Вот как я отправляю из Windows XP с помощью WAMP.
<?php $message = "test message body"; $result = mail('recipient@some-domain.com', 'message subject', $message); echo "result: $result"; ?>
Справка:
/etc/postfix/main.cf
образом: #Relay config relayhost = smtp.server.net smtp_use_tls=yes smtp_sasl_auth_enable=yes smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd smtp_tls_CAfile = /etc/postfix/cacert.pem smtp_sasl_security_options = noanonymous
/etc/postfix/sasl_passwd
, введите: smtp.server.net username:password
Тип # /usr/sbin/postmap sasl_passwd
Затем запустите: service postfix reload
Теперь PHP будет запускать почту как обычно с помощью команды sendmail -t -i
и Postfix перехватит ее и передаст ее на ваш SMTP-сервер, который вы предоставили.
Используйте Mail :: factory в пакете Mail PEAR. Пример.
Учитывая один ответ в этом вопросе , в PHP 4 пакет PEAR Mail обычно уже установлен, и этот действительно простой учебник показывает вам несколько строк кода, которые необходимо добавить в ваш php-файл http://email.about.com/ од / emailprogrammingtips / кварты / PHP_Email_SMTP_Authentication.htm
«SMTP = localhost»,
«smtp_port = 25»,
" ; sendmail_path =".
Как настроить WAMP (localhost) для отправки электронной почты с помощью Gmail?