XAMPP — невозможно отправить фиктивные письма

Я не могу заставить 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, и с тех пор мне так и не удалось восстановить его.

3

Решение

Если вы используете PHPMailer чтобы отправлять свои сообщения, вам нужно убедиться, что он не использует SMTP (если он открывает сетевое соединение с удаленным сервером, он не будет использовать вашу локальную почтовую программу). Для этого вам нужно не вызов isSMTP() потому что по умолчанию используется встроенный mail() функция:

/**
* Which method to use to send mail.
* Options: "mail", "sendmail", or "smtp".
* @type string
*/
public $Mailer = 'mail';
1

Другие решения

Когда я сделал это для своего веб-сервера, я запустил mailtodisk.exe, а затем в корневой папке XAMPP была папка mail и все письма были там.

Я не должен был делать никаких настроек самостоятельно, он просто работал.

0

Может быть, попытаться настроить внешний SMTP-сервер для использования его с почтой, например, с помощью Google Gmail.

0
По вопросам рекламы [email protected]