PDA

Просмотр полной версии : Отправка почты чере php - скрипт


Майор
19.06.2005, 19:18
Вот отправляю я письма как то так :

<?
mail($to, $subject, $message, $headers));
?>

куданибудь на сервер приходит отчёт - доставлено письмо или нет ? и если так, то можно ли видить этот лог ?

nerezus
19.06.2005, 19:27
RFC 2821 - Simple Mail Transfer Protocol - SMTP
http://rfc.net/rfc2821.html

RFC 2822 - SMTP email headers
http://rfc.net/rfc2822.html

отправляй через сокет

mail() НЕ отправляет пимсьма, а кладет их в очередь для отправки

qBiN
20.06.2005, 15:54
отправляй через сокет
Функция-http://ru3.php.net/manual/ru/function.fsockopen.php

Майор
20.06.2005, 22:49
приведите премерчик пожалуйста, а то с временем напряг чтоб разбираться

nerezus
20.06.2005, 22:59
не хочешь и*ацца с пхп руками - качай phpmailer
http://phpmailer.sourceforge.net/

qBiN
25.06.2005, 12:55
приведите премерчик пожалуйста, а то с временем напряг чтоб разбираться

http://ru3.php.net/manual/ru/function.fsockopen.php
Там например такой пример:

<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>

Терь читаем RFC которые кинул nerezus и по аналогии делаем скрипт...
зы Если очень нужно то я могу написать...

bul666
25.06.2005, 17:38
Кинь пример отправки почты... )

GreenBear
25.06.2005, 17:51
Кинь пример отправки почты... )

<?php

$to = "net@mail.ru";


$tf = "From: $email\r\nReply-To: $email\r\n";
$message= "Text:$message, Email:$email ";
$mess = "This is from: ".$name."(".$REMOTE_ADDR.")\n\n".$message;


if ($message == "") {print "<font color=red>Ошибка... Напишите ваше сообщение!</font>"; exit;}
if ($name == "") {print "<font color=red>Ошибка... Напишите Ваш имя!</font>"; exit;}
if ($email == "") {print "<font color=red>Ошибка... Напишите свой обратный e-mail</font>"; exit;}
if (!eregi("^([0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-.]?[0-9a-z])*\\.[a-wyz][a-z](fo|g|l|m|mes|o|op|pa|ro|seum|t|u|v|z)?)$", $email) and $email != "") {print "<font color=red>Ошибка. Таких e-mail адресов не существует!"; exit;}

mail ($to, $subject, $mess, $tf);


echo("Письмо отправлено!<br><a href=\"".$HTTP_REFERER."\">Назад</a>\n");

?>

xPow
25.06.2005, 18:59
юзай mail.php из библиотеки pear

qBiN
25.06.2005, 19:39
Кинь пример отправки почты... )Стукни...

Майор
25.06.2005, 19:48
Там например такой пример:

<?php
$fp = fsockopen("www.example.com", 80, $errno, $errstr, 30);
if (!$fp) {
echo "$errstr ($errno)<br />\n";
} else {
$out = "GET / HTTP/1.1\r\n";
$out .= "Host: www.example.com\r\n";
$out .= "Connection: Close\r\n\r\n";

fwrite($fp, $out);
while (!feof($fp)) {
echo fgets($fp, 128);
}
fclose($fp);
}
?>

Терь читаем RFC которые кинул nerezus и по аналогии делаем скрипт...
зы Если очень нужно то я могу написать...
лучше подскажи пример заголовка который нужно отправлять и на какой порт...

qBiN
25.06.2005, 21:40
на какой порт...Если не читаешь RFC(ну я например не сильно шарю в английском) то почти универсальный способ...Порт естественно 25...Ставишь сниффер на 25 порт делаешь обычные операции и смотришь лог сниффера...При незнании RFC бывает помогает...пример заголовка Неочень понял..Если тебе нужен пример отправки мыла то его снимешь со сниффера...
Хотя так и быть кину пример (для локалхоста!):
HELO localhost
MAIL FROM: qBiN@localhost
RCPT TO: qBiN2@localhost
DATA
TEST MESSAGE
Enter.Enter(это окончание сообщения.Передовать сам текст энтера ненужно!(работать то небудет :) Если знаешь немного винду то проблем возникнуть недолжно.(Это типа защита от дурака...))
QUIT

KEZ
25.06.2005, 22:45
посмотри в php.ini настройки smtp сервера

а так $result = mail( $to, $subj, $text );

qBiN
25.06.2005, 23:07
посмотри в php.ini настройки smtp сервераЭто ты кому? И еще очень интересно где там настройки smtp сервера? Можно указать смтп сервер,можно посмотреть путь к сендмайлу,можно установить поле фром по умалчанию,может я не все директивы перечислил но настроек самого smtp сервера там явно нет.
$result = mail( $to, $subj, $text );Тоже не понял к чему это ты...

KEZ
25.06.2005, 23:16
[mail function]
; For Win32 only.
SMTP = mail.antichat.ru ; for Win32 only
sendmail_from= kez@antichat.ru ; for Win32 only

; For Win32 only.
;sendmail_from = me@example.com

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path =


вот где настройка SMTP. что ты не понял? Адрес СМТП сервере это

а про mail() возможно я не в тему... простите, нехватило терпения читать страницы темы...

qBiN
25.06.2005, 23:27
вот где настройка SMTPНу вопщето это я и написал...А там нет настройки smtp там настройки пхп относительно smtp
Если хостинг нормальный тебе и пхп.ини в руки не дадут(хотя хз) тем более править его,там должно быть уже все настроено...