Чи можна налаштувати WAMP-сервер на PHP для включення mail()
функції?
Чи можна налаштувати WAMP-сервер на PHP для включення mail()
функції?
Відповіді:
Налаштування робочого клієнта електронної пошти від localhost - це досить справа, я витрачав години на розчарування, намагаючись це зробити. Я впевнений, що хтось досвідченіший може допомогти, або, можливо, погодиться зі мною.
Якщо ви просто хочете протестувати, ось чудовий інструмент для тестування пошти локально, який майже не потребує конфігурації:
http://www.toolheap.com/test-mail-server-tool/
Для мене це спрацювало відразу, надіюсь, це вам допоможе.
Встановіть підроблені Sendmail (завантажити sendmail.zip ). Потім налаштуйте 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, і це в основному все, що вам потрібно зробити.
Використовуючи виклик з відкритим кодом програми Send Mail , ви можете надсилати через wamp досить легко фактично. Я все ще налаштовую це, але ось чудовий підручник Джо Джордана . На налаштування потрібно менше 2 хвилин.
Просто спробував, і це спрацювало як шарм! Після того, як я прокоментував журнал помилок і виявив, що він затримується на аутентифікації pop3, я просто видалив це, і він добре надіслав. Удачі!
mail
, ви отримаєте електронний лист від Google, що спроба входу була заблокована. У цьому електронному листі натисніть "Перевірити активність", а на сторінці, що відкриється, натисніть "Так, це я", потім натисніть "Дізнатися більше", а потім натисніть "Якщо" Менш безпечний доступ до додатка "вимкнено для ваш рахунок ", потім натисніть" включити його знову ", а потім увімкніть перемикач.
from
заголовок під час дзвінка mail
в PHP. Наприклад, ви можете це зробити mail("to@example.com", "Subject", "Content", "From: youremailaddress@gmail.com")
(це останній параметр, який важливий).
Для надсилання пошти вам потрібен сервер SMTP. Якщо у вас є такий доступ, який не потребує автентифікації SMTP (можливо, ваш Інтернет-провайдер?), Просто відредагуйте налаштування "SMTP" ([функція пошти]) у вашому файлі php.ini.
Якщо це не варіант, тому що ваш SMTP-сервер вимагає автентифікації, ви не зможете використовувати функцію внутрішньої пошти () і доведеться використовувати третій клас, який підтримує smtp auth. наприклад, http://pear.php.net/package/Mail/
Я спробував інструмент Test Mail Server, і він працював чудово, але вам потрібно відкрити електронну пошту на якомусь клієнті.
Я знайшов Papercut : https://papercut.codeplex.com/
Для конфігурації це легко як інструмент тестового поштового сервера (практично нульовий конф.), А також він служить клієнтом електронної пошти, з переглядами повідомлення (відмінно підходить для HTML-листів), заголовків , корпусу (для перевірки HTML) та Raw (повний нерозбірливий електронний лист).
Він також має секції перегляд , щоб розділити різні типи носіїв, знайдені в електронній пошті.
Він має надзвичайно чистий та доброзичливий інтерфейс користувача, хороший переглядач журналів та дає вам сповіщення при отриманні електронного листа.
Я вважаю це ідеальним, тому просто хотів дати свій 2с і, можливо, комусь допомогти.
Sendmail не працював для мене, тому я використовував msmtp 1.6.2 w32 і більшість просто дотримувався вказівок DeveloperSide . Ось швидкий термін завершення налаштування для нащадків:
Увімкнено доступ IMAP у вашому обліковому записі Gmail (один MSMTP надсилає електронні листи від)
Увімкніть доступ для менш захищених програм . Увійдіть у свій обліковий запис google та перейдіть сюди
Відредагуйтеphp.ini
, знайдіть і змініть кожне налаштування нижче, щоб відобразити наступне:
; These are commented out by prefixing a semicolon
;SMTP = localhost
;smtp_port = 25
; Set these paths to where you put your msmtp files.
; I used backslashes in php.ini and it works fine.
; The example in the devside guide uses forwardslashes.
sendmail_path = "C:\wamp64\msmtp\msmtp.exe -d -C C:\wamp64\msmtp\msmtprc.ini -t --read-envelope-from"
mail.log = "C:\wamp64\msmtp\maillog.txt"
Створіть і відредагуйте файлmsmtprc.ini
у тому самому каталозі, що і ваш msmtp.exe
файл, наступним чином, замінивши його власною електронною поштою та паролем:
# Default values for all accounts
defaults
tls_certcheck off
# I used forward slashes here and it works.
logfile C:/wamp64/msmtp/msmtplog.txt
account Gmail
host smtp.gmail.com
port 587
auth on
tls on
from ReplaceWithYourEmail@gmail.com
user ReplaceWithYourEmail@gmail.com
password ReplaceWithYourPassword
account default : gmail
msmtp-1.6.2-w32.zip
sourceforge.net/projects/msmtp/files/msmtp/1.6.2