| |
|
|
| | как можно посылать письма не пользуясь функцией mail? провайдер со спамом борется | |
| |
|
|
| |
|
|
| |
для: meg
(16.10.2006 в 15:27)
| | | если доступны сокеты, можно попробовать самому написать ф-ю mail ...
но тут не только сокеты нужны, еще и знание протокола smtp ... хотя бы немного.
Или воспользуйтесь готовым классом, напр. htmlMimeMail | |
| |
|
|
| |
|
|
| |
для: kasmanaft
(16.10.2006 в 16:03)
| | | я всегда пользуюсь вот таким кодом:
unction smtp_send_cmd($smtp_s, $cmd){
echo "<b>$cmd</b><br>";
$smtp_msg = "";
$smtp_code = "";
fputs($smtp_s, $cmd."\r\n"); // отправляем команду
while ($line = fgets($smtp_s, 515)){
$smtp_msg .= $line;
if (substr($line, 3, 1) == " "){
break;
}
}
echo "$smtp_msg <br>";
$smtp_code = substr( $smtp_msg, 0, 3 ); // вырезаем из строки код ответа
return $smtp_code==""?FALSE:$smtp_code;
}
# Данные для отправки пиьма
$server = ""; // почтовый сервер
$user = "a@b.c"; // логин
$pass = "abc"; // пароль
$smtp_port = 25; // порт
$to = ""; // кому отправить
$from = ""; // от кого
$msg = "сообщение";
$headers = "Subject: ТЕМА\r\nFrom: $email\r\nTo: $order_email\r\nContent-Type: text/plain; charset=windows-1251\r\nContent-Transfer-Encoding: 8bit";
$data = $headers."\r\n\r\n".$msg;
set_time_limit(30);
$smtp_socket = fsockopen($server, $smtp_port, $errno, $errstr, 30);
while ($line = @fgets($smtp_socket, 515)){
$smtp_msg .= $line;
if (substr($line, 3, 1) == " "){
break;
}
}
$answer = substr( $smtp_msg, 0, 3 );
if($answer != '220') die ($answer);
$answer = smtp_send_cmd($smtp_socket, 'HELO '.$localhost);
if($answer != '250') die ($answer);
$answer = smtp_send_cmd($smtp_socket, 'AUTH LOGIN');
if($answer != '334') die ($answer);
$answer = smtp_send_cmd($smtp_socket, base64_encode($user));
if($answer != '334') die ($answer);
$answer = smtp_send_cmd($smtp_socket, base64_encode($pass));
if($answer != '235') die ($answer);
$answer = smtp_send_cmd($smtp_socket, 'MAIL FROM:'.$from);
if($answer != '250') die ($answer);
$answer = smtp_send_cmd($smtp_socket, 'RCPT TO:'.$to);
if($answer != '250') die ($answer);
$answer = smtp_send_cmd($smtp_socket, "DATA");
if($answer != '354') die ($answer);
fputs($smtp_socket, $data."\r\n");
$answer = smtp_send_cmd($smtp_socket, ".");
if($answer != '250') die ($answer);
$answer = smtp_send_cmd($smtp_socket, "QUIT");
if($answer != '221') {
echo "Попробуйте позже";
} else {
echo "Спасибо";
}
fclose($smtp_socket);
|
| |
| |
|
|
| |
|
|
| |
для: kasmanaft
(16.10.2006 в 16:03)
| | | спасибо, самому нереально, попробую разобраться с готовым | |
| |
|
|