Wie ktoś jak sprawić aby na serwerze prv.pl można było wysyłać maile za pomocą f-kcji mail() ?
Jak nie można tak - to jak można abo skrypt zalogował sie na dany smtp i wysłał maila :) ?
Niestety nie mogę zmienić serwera...
Wie ktoś jak sprawić aby na serwerze prv.pl można było wysyłać maile za pomocą f-kcji mail() ?
Jak nie można tak - to jak można abo skrypt zalogował sie na dany smtp i wysłał maila :) ?
Niestety nie mogę zmienić serwera...
szczerze to nie wiem od kiedy prv.pl oferuje hosting, ale skoro to robi i to bez funkcji mail to możesz wykorzystać, albo prosty skrypt (nie mojego autorstwa - przepraszam nie znam autora):
<?php
// error_reporting(0); // odkomentuj jak będzie ok
$mailer['host'] = 'serwer.smtp';
$mailer['user'] = 'nazwa_usera';
$mailer['pass'] = 'hasło';
$mailer['admin'] = 'adres email admina';
function server_parse($socket, $response)
{
// No response yet.
$server_response = '';
while (substr($server_response, 3, 1) != ' ')
if (!($server_response = fgets($socket, 256)))
return false;
if (substr($server_response, 0, 3) != $response)
return false;
return true;
}
function smtp_mail($mail_to, $subject, $message, $headers, $info){
global $mailer;
if (!isset($info['from_name'])) $info['from_name'] = '';
if (!isset($info['rcpt_name'])) $info['rcpt_name'] = '';
if (!$socket = fsockopen($mailer['host'], 25, $errno, $errstr, 20))
return false;
if (!server_parse($socket, '220'))
return false;
if ($mailer['user'] != '' && $mailer['pass'] != '')
{
fputs($socket, 'EHLO ' . $mailer['host'] . "\r\n");
if (!server_parse($socket, '250'))
return false;
fputs($socket, "AUTH LOGIN\r\n");
if (!server_parse($socket, '334'))
return false;
fputs($socket, base64_encode($mailer['user']) . "\r\n");
if (!server_parse($socket, '334'))
return false;
fputs($socket, base64_encode($mailer['pass']) . "\r\n");
if (!server_parse($socket, '235'))
return false;
}
else
{ // Jezeli serwer nie wymaga autoruzacji.
fputs($socket, 'HELO ' . $mailer['host'] . "\r\n");
if (!server_parse($socket, '250'))
return false;
}
fputs($socket, 'MAIL FROM: <'.$mailer['admin'].">\r\n");
if (!server_parse($socket, '250'))
return false;
fputs($socket, 'RCPT TO: <'.$mail_to.">\r\n");
if (!server_parse($socket, '250'))
return false;
fputs($socket, "DATA\r\n");
if (!server_parse($socket, '354'))
return false;
fputs($socket, 'Return-Path: <'.$mailer['admin'].">\r\n");
fputs($socket, 'Subject: ' . $subject . "\r\n");
fputs($socket, 'To: "'.$info['rcpt_name'].'" <'.$mail_to.">\r\n");
fputs($socket, $headers . "\r\n\r\n");
fputs($socket, $message . "\r\n");
fputs($socket, ".\r\n");
if (!server_parse($socket, '250'))
return false;
fputs($socket, "RSET\r\n");
if (!server_parse($socket, '250'))
return false;
fputs($socket, "QUIT\r\n");
fclose($socket);
return true;
}
?>
albo ściągnij np rozbudowaną klasę phpmailer czy jakoś tak - obsługuje ona też np dodawanie prosto załączników, treści HTML etc.
chyba że wcale nie blokuje funkcji mail, sprawdź to w php_info() to wtedy wystarczy chyba cośtam ustawić