Я не могу заставить XAMPP отправлять фиктивную электронную почту из PHP с помощью mailtodisk.exe (другими словами, чтобы сохранить вывод на диск вместо реальной отправки почты). Вместо этого, независимо от того, что я делаю, письма продолжают отправляться нормально. Я пытаюсь настроить его не на отправку писем, а на генерацию их вывода, используя утилиту mailtodisk.exe, поставляемую с XAMPP.
Мои настройки php.ini мне кажутся правильными (хотя я не знаю, нужно ли указывать sendmail_path в экранированных кавычках, так как путь комментированного sendmail.exe — в любом случае, я пробовал оба, и ни один из них не работал):
; sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
phpinfo () также показывает, что настройки верны:
Я попытался установить переменную «sendmail_path» непосредственно из исходного кода с помощью ini_set (), я также пытался изменить файлы «php.ini-production» и «php.ini-development» (хотя и бессмысленно, если вы спросите меня), я даже полностью удалил папку, содержащую файл sendmail.exe, я перезапускал Apache каждый раз, когда менял настройки, и он по-прежнему отправляет обычные письма. Моя система работает под управлением Windows 10, версия XAMPP — 3.2.2, а версия php — 5.6.14.
Что мне здесь не хватает?
РЕДАКТИРОВАТЬ: Я не упомянул, что он работал правильно в начале, когда я впервые установил XAMPP. Затем в какой-то момент мне понадобилось отправить реальное письмо, поэтому я изменил php.ini на использование sendmail.exe, и с тех пор мне так и не удалось восстановить его.
Если вы используете PHPMailer чтобы отправлять свои сообщения, вам нужно убедиться, что он не использует SMTP (если он открывает сетевое соединение с удаленным сервером, он не будет использовать вашу локальную почтовую программу). Для этого вам нужно не вызов isSMTP()
потому что по умолчанию используется встроенный mail()
функция:
/**
* Which method to use to send mail.
* Options: "mail", "sendmail", or "smtp".
* @type string
*/
public $Mailer = 'mail';
Когда я сделал это для своего веб-сервера, я запустил mailtodisk.exe, а затем в корневой папке XAMPP была папка mail и все письма были там.
Я не должен был делать никаких настроек самостоятельно, он просто работал.
Может быть, попытаться настроить внешний SMTP-сервер для использования его с почтой, например, с помощью Google Gmail.