проблема с почтой php - PullRequest
       9

проблема с почтой php

0 голосов
/ 20 сентября 2009

У меня сейчас следующее, и оно не работает. (обычно у меня есть текст и заголовок, но ничего не работает)

mail("idealvisions@live.com","Nieuw offerte aanvraag","test");

Мы сделаем это на моем сервере, потому что у меня PHP 5 или выше, никаких проблем нет. Но страница контактов от клиента, который работает php 4.4 Я считаю. Теперь клиент действительно настаивает на том, чтобы я это исправил, но, похоже, это не исправит. Я перепробовал все

В чем здесь проблема? это версия php?

Я также проверил phpinfo, и у меня есть

sendmail_from   no value    no value

sendmail_path   /usr/local/bin/bgc_webhosting_mailer.sh /usr/local/bin/bgc_webhosting_mailer.sh

Ответы [ 4 ]

1 голос
/ 20 сентября 2009

Из пути sendmail ваш хост использует пользовательскую программу / сценарий оболочки sendmail.

Поскольку sendmail from не настроен, вы должны установить его в функции mail (), если только он не задан жестко в /usr/local/bin/bgc_webhosting_mailer.sh, и в этом случае вам следует обратиться к хостингу.

Пример настройки отправителя:

mail('recepient@example.com', 'Test subject', 'Test Body', "from:sender@example.com\n");

Если функция mail () действительно НЕ доступна, спросите у своего хостинга об альтернативе, такой как локальный SMTP-сервер.

Затем вы можете использовать локальный SMTP-сервер для отправки электронной почты. Вероятно, самый простой способ сделать это - загрузить библиотеку электронной почты, которая поддерживает отправку через SMTP, например, PEAR Mail или SwiftMailer.

Груша: http://pear.php.net/package/Mail Свифт: http://swiftmailer.org/

Если ваш хост не предоставляет SMTP-сервер, вам, вероятно, следует искать другой хост. Однако вы всегда можете воспользоваться бесплатным почтовым сервисом, таким как Gmail или Yahoo, и отправлять почту через SMTP.

1 голос
/ 20 сентября 2009

некоторые интернет-провайдеры, предоставляющие хостинг, а некоторые бесплатные хостинговые платформы отключают функцию почты, можете ли вы попробовать что-то вроде этого:

error_reporting(E_ALL);
if (mail ('you@yourdomain.com', 'Test subject', 'Test Body')){
echo 'Mail sent';
}else{
echo 'Mail not sent';
}

если есть проблема с mail () на их сервере, вы можете рассмотреть возможность отправки в почтовую форму на одном из ваших серверов, а затем перенаправить их обратно на страницу благодарности на сервере клиента после.

1 голос
/ 20 сентября 2009

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

0 голосов
/ 20 сентября 2009

Также проверьте SeLinux, он может предотвратить отправку почты любым потоком, порожденным Apache. В этом случае вы не получите ни ошибки, ни почты.

...