Forum Webscript.Ru
Программирование => PHP => Тема начата: bold от 30 Июня 2003, 20:47:37
-
Короче сервер один есть, в котором ф-ция mail() не работает, а SMTP порт установлен.
Мне надо написать функцию:
function sendmail ($email, $subject, $body, $headers) {
//...
}
Так вот не через mail, а как-то надо подключиться к SMTP порту:
Хост: "localhost"
Порт: "25"
Юзер: ""
Пароль: ""
Вроде через сокет как-то можно :insane: :super:
-
берешь pear::mail и
$recipients = $email;
$headers[\'From\'] = \'richard@example.com\';
$headers[\'To\'] = $email;
$headers[\'Subject\'] = $subject;
$body = $body;
$params[\'host\'] = \'localhost\';
$params[\'port\'] = 25;
$params[\'auth\'] = true;
$params[\'username\'] = \'\';
$params[\'password\'] = \'\';
// Create the mail object using the Mail::factory method
$ml =& Mail::factory(\'smtp\', $params);
$ml->send($recipients, $headers, $body);
http://pear.php.net/manual/en/package.mail.php
-
Спасибо... попробую, напишу результат :)
-
Блин и где этот mail.php взять, чтобы класс mail существовал? На том сайте так и не нашел :(
-
Плохо искал
http://pear.php.net/package-info.php?pacid=72
-
попробуй через сокеты
function send($server, $to, $from, $subject="", $headers="") {
$headers="To: $to\\nFrom: $from\\nSubject: $subject\\nX-Mailer: The Mouse!\\n$headers";
$fp = fsockopen($server, 25, &$errno, &$errstr, 30);
if (!$fp)
die("Server $server. Connection failed: $errno, $errstr");
fputs($fp,"HELO $server\\n");
fputs($fp,"MAIL FROM: $from\\n");
fputs($fp,"RCPT TO: $to\\n");
fputs($fp,"DATA\\n");
fputs($fp,$this->headers);
if (strlen($headers))
fputs($fp,"$headers\\n");
fputs($fp,$this->mime);
fputs($fp,"\\n.\\nQUIT\\n");
while(!feof($fp))
$resp.=fgets($fp,1024);
fclose($fp);
}