2012-06-26 2 views
1

Я новичок в мире php (на самом деле не так много, но в значительной степени).Как получить функцию mail(), работающую с нуля в php 5.3?

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

Позвольте мне объяснить мою ситуацию:

Я начал делать некоторые коды, где я включил HTML формы, так что я мог бы получить информацию о пользователе для почтового структуры, идея заключается в том, чтобы создать своего рода след, которым пользователь запускает в конкретный момент с некоторой уже загруженной информацией. Позже я заметил, что если я не смог бы справиться с проблемой mail(), я бы не стал работать. Поэтому я минимизирован моя проблема, и просто писал:

<?php 
    mail($mail, $subject, $body); 
?> 

Ну, вы можете себе представить, как я не изменил php.ini после установки XAMPP (который я не упоминал ранее), я получил некоторый SMTP и sendmail_path ошибки; Итак, я посмотрел здесь и получил инструкции по настройке php.ini. Затем попробовал снова и ничего, это не сработало.

Пробовал с Mail_mime PEAR, но он просто сделал все более размытым, с проблемами нестационарного.

Надеюсь, вы сможете помочь.

я редактировал файл php.ini, так что я получил

SMTP = localhost 
smtp_port = 25 

Я не получаю сообщение об ошибке прямо сейчас, я просто не получить электронную почту, я тоже установить из заголовка, я забыл указать это. Я установил заголовок From в файле phph.ini, а когда он не работал, я отредактировал его внутри переменной нового кода. Более подробная картина будет выглядеть так:

<?php 
    $to = '[email protected]'; 
    $headers = array("From"=>"[email protected]"); 
    $subject = 'This is the subject.'; 
    $body = 'Here is the message.'; 

    mail($mail, $subject, $body, $headers); 
?> 

Это было одно из многих испытаний.

+1

Если вы ожидаете от нас помощи, вы можете предоставить фактические сообщения об ошибках, которые вы получаете. Цель вашего сайта и то, что вы пытаетесь сделать в большой картине, бессмысленно - нам просто нужны сообщения об ошибках. –

+2

Используете ли вы локальную машину как реле SMTP или вы ввели действующий SMTP-сервер, который не имеет проблем с реле? – Hammerstein

+0

отредактировал smtp - localhost. –

ответ

0

Вам необходимо отправить заголовок From. Возможно, это будет установка, чтобы вернуться к адресу по умолчанию, но я подозреваю, что это не так. Конечно, это не проблема.

mail($mail, $subject, $body, $headers);

Заголовок Пример From будет From: [email protected]. Отдельные заголовки в строке с \r\n.

+0

Вам не нужен заголовок 'From' для использования' mail() '. На самом деле вам не нужны заголовки для отправки почты. – Mike

+0

http://php.net/manual/en/function.mail.php - Примечание: При отправке почты почта должна содержать заголовок From. Это можно задать с помощью параметра дополнительные_headers, или по умолчанию можно установить в php.ini. В противном случае появится сообщение об ошибке, подобное предупреждению: mail(): «sendmail_from» не установлен в php.ini или пользовательский заголовок «From:» отсутствует. В заголовке From также указывается Return-Path под Windows. –

+0

, отредактированный из заголовка в функции почты, а также попытался в файле php.ini –

Смежные вопросы