Как установить имя пользователя и пароль smtp с помощью ini_set

Это мой сценарий для отправки почты в формате html. Но после выполнения этого сценария я не получил почту. Я не знаю, как установить имя пользователя и пароль с помощью ini_set("SMTP","smtp.xyz.com"); ? Есть ли простой способ установить SMTP без использования каких-либо внешних файлов библиотеки?

$name=$_POST['name'];
$email=$_POST['email'];
$mobile=$_POST['mobile'];
$messege="Dear Webmaster,<br /> An user sent query.<br /> Query: <br/> ".$_POST['messege']."<br /><br /><br /> <b>User Contact Detail:</b><br />Name:".$name."<br/> Email:".$email."<br />Mobile:".$mobile;

$to = '[email protected]';
$subject = 'xx';

$headers = "From: [email protected]\r\n" .
'X-Mailer: PHP/' . phpversion() . "\r\n" .
"MIME-Version: 1.0\r\n" .
"Content-Type: text/html; charset=utf-8\r\n" .
"Content-Transfer-Encoding: 8bit\r\n\r\n";

ini_set("SMTP","smtp.xyz.com");
ini_set("smtp_port","25");
ini_set("sendmail_from","[email protected]");
mail($to, $subject, $message, $headers);

person Pank    schedule 24.02.2012    source источник
comment
См. здесь: stackoverflow.com/questions/112190/   -  person Sean Carruthers    schedule 24.02.2012
comment
Вы также можете рассмотреть возможность использования библиотеки, которая проделала тяжелую работу по абстрагированию тонкостей отправки электронной почты (swiftmailer.org). )   -  person F21    schedule 24.02.2012
comment
Я использую XAMPP в ОС Linux, поэтому нижеприведенный сценарий будет работать? SMTP = mail.yourserver.com smtp_port = 25 auth_username = smtp-username auth_password = smtp-password sendmail_from = [email protected]   -  person Pank    schedule 24.02.2012


Ответы (1)


Как вы можете прочитать в руководстве по PHP, SMTP Функциональность для PHP доступна только в Windows и имеет только очень базовую функциональность. Если вам нужно использовать его в Linux и / или вам нужна аутентификация по имени пользователя и паролю, SMTPS и т. д., вам нужно будет использовать такие библиотеки, как SwiftMailer, PHP Mailer и т. д., либо вам необходимо настроить внешний SMTP-сервер на собственном хосте, например Exim.

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

person Janos Pasztor    schedule 27.05.2013