Я использовал PHP-код для рассылки, используя SMTP HOST, как указано ниже:
ini_set('SMTP','myserver'); ini_set('smtp_port',25); $to = $email; $headers = "MIME-Version: 1.0" . "\r\n"; $headers .= "Content-type: text/html; charset=iso-8859-1" . "\r\n"; $headers .= "From: NO-REPLY<no-reply@mydomain.com>" . "\r\n"; $subject = "Confirmation For Request"; $message = '<html> <body> <p>Hi '.$firstname.' '.$lastname.'</p> <p> We recieved below details from you. Please use given Request/Ticket ID for future follow up: </p> <p> Your Request/Ticket ID: <b>'.$ticketID.'</b> </p> <p> Thanks,<br> '.$team.' Team. </p> </body> </html>'; mail( $to, $subject, $message, $headers );
Теперь, когда я выполняю код в Windows Localhost .. Я успешно получаю почту, тогда как если я использую тот же код в моей настройке Linux, я не получаю nomail, хотя функция mail () возвращает true в машине linux. …
Изучая phpinfo как для локального, так и для Linux-сервера Windows, для параметров почты я нашел единственное различие,
В Windows я нашел sendmail_path == «Нет значения», тогда как на сервере Linux он говорит: «usr / sbin / sendmail -t -i»
Может ли кто-нибудь помочь мне решить эту проблему?
ПРИМЕЧАНИЕ. В Windows это настройка WAMP, тогда как Linux – выделенный сервер …
Если вы ищете свой php.ini
есть краткое описание, которое
ini_set('SMTP','myserver'); ini_set('smtp_port',25);
Это оба значения предназначены только для Windows. Поэтому, если вы хотите отправлять почту через SMTP на linux, вам нужно установить постфикс, например, и создать реле.
https://www.linode.com/docs/email/postfix/postfix-smtp-debian7
Или что намного проще использовать lib, который может отправлять почту SMTP через сокет или завиток, например Swiftmailer.
http://swiftmailer.org/docs/sending.html
Это намного проще и работает.
Я посмотрел на это до и в PHP.ini есть два ключа sendmail_from
http://php.net/sendmail-from (для Win32) и sendmail_path
http://php.net/sendmail-path (для Unix) по типу или аналогичной настройке для linux по умолчанию этот ключ является me @ localhost, который, когда на фактическом почтовом сервере он должен отклонять этот адрес электронной почты как пользователя, которого они не существуют на сервере.
Попробуйте добавить что-то вроде …
ini_set('sendmail_from','admin@example.co.uk')