We are in the process of migrating this forum. A new space will be available soon. We are sorry for the inconvenience.
PHP mail() i sendmail - dedyk
szczeles
26-05-2006, 21:20
%20i%20sendmail%20-%20dedyk%20[Archive]%20-%20Forum%20ovh.pl_pliki/quote_icon.png)
Napisał
oskdks
Przeróbcie mi to
na zwykły formularz gdzie wpisuje z poziomu przegladarki to co chce
wysłać a nie juz z góry założone jest to w kodzie
Chyba kolego pomyliełeś tematy, a tak w ogóle to sam sobie przerób :P
Kod PHP:
require("phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->PluginDir = "phpmailer/";
$mail->From = "NASZE@KONTO"; //adres naszego konta
$mail->FromName = "phpMailer tester";//nagłówek From
$mail->Host = "NASZ.SERWER.SMTP";//adres serwera SMTP
$mail->Mailer = "smtp";
$mail->Username = "tester@KONTO";//nazwa użytkownika
$mail->Password = "HASLO";//nasze hasło do konta SMTP
$mail->SMTPAuth = true;
$mail->SetLanguage("en", "phpmailer/language/");
$mail->Subject = "Mail testowy";//temat maila
// w zmienną $text_body wpisujemy treść maila
$text_body = "Cześć, chyba phpMailer działa \n\n";
$text_body .= "Na zawsze Twój, \n";
$text_body .= "PHPMailer";
$mail->Body = $text_body;
// adresatów dodajemy poprzez metode 'AddAddress'
$mail->AddAddress("jurek@gdziestam.pl","Jurek");
$mail->AddAddress("franek@gdziestam.pl","Franek");
if(!$mail->Send())
echo "There has been a mail error
";
echo $mail->ErrorInfo."
";
// Clear all addresses and attachments
$mail->ClearAddresses();
$mail->ClearAttachments();
echo "mail sent
";
?>
Przeróbcie mi to na zwykły formularz gdzie wpisuje z poziomu
przegladarki to co chce wysłać a nie juz z góry założone jest to w
kodzie
"ls -la"
chodziło mi o pełne linie (czyli prawa do plikow, rozmiar itp)
Proszę jeszcze zrobic ls -la dla:
/etc/alternatives/mta
/etc/alternatives/mta-in_libdir
A jeśli wynik będzie tez linkiem symbolicznym, to jeszcze raz.. az do skutku (bedzie to plik, dla niego tez ls -la :-) )
[root@root]# ls -la /usr/sbin/sendmail
/usr/sbin/sendmail -> /etc/alternatives/mta
[root@root]# ls -la /usr/lib/sendmail
/usr/lib/sendmail -> /etc/alternatives/mta-in_libdir
[root@root]# ls -la /etc/sysconfig/sendmail
/etc/sysconfig/sendmail
[root@root]# which sendmail
/usr/bin/which: no sendmail in
(/usr/kerberos/sbin:/usr/kerberos/bin://sbin://bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin)
BTW:
Looking in Installed Packages:
Name : sendmail
Arch : i386
Version: 8.12.11
Release: 4.6
Size : 1.26 MB
Group : System Environment/Daemons
Repo : Locally Installed
Summary: A widely used Mail Transport Agent (MTA).
Juz nawet nie wiem do czego dowiazanie zrobic ...
A co pokazuje:
Kod:
# ls -la /usr/sbin/sendmail
# ls -la /usr/lib/sendmail
# ls -la /etc/sysconfig/sendmail
# which sendmail
Juz wczesniej probowalem skompilowac z takimi opcjami, ale niestety nic to nie daje...
Zgodnie z zaleceniami sprawdzialem czy dochodza maile wyslane z konsoli, nie dochodza...
Sendmail chyba jednak nie dziala, poprzednio chociaz odpowiadal jakims bledem, teraz milczy,
Pozdrawiam
Amster
szczeles
22-05-2006, 13:58
No ale możesz wysłać mail z konsoli?
Spróbuj skompilować z --wist-sendmail=/usr/sbin/sendmail
Wywalilem
sendmaila, zainstalowalem od nowa (yum), pojawil sie w 3 katalogach
/usr/sbin /usr/lib /etc/sysconfig ... /usr/sbin/sendmail i
/usr/lib/sendmail wywala, ze nie ma takiego pliku ( dowiazania )...
a mail() nadal nie dziala...
Pozdrawiam
Amster
szczeles
21-05-2006, 19:38
Hmm, a nie powinno sie podawac czasami sciezki do samego sendmaila? W /etc/sysconfig/sendmail jest tylko jego config :<
Walnij `whereis sendmail` i to podaj przy kompilacji
Wyglada na to, ze w ogole podczas rekompilacji php nie wykrywa sendmaila, nie mam opcji path sendmail w bloku standard.
Probowalem np --with-sendmail=/etc/sysconfig/sendmail , ale nic...
Prosze o jak najszybsza odp.
Z gory dziekuje
Pozdrawiam, Amster
szczeles
21-05-2006, 13:59
%20i%20sendmail%20-%20dedyk%20[Archive]%20-%20Forum%20ovh.pl_pliki/quote_icon.png)
Napisał
amster
wyglada na to ze sie normalnie uruchamia,
Znaczy - wysłałeś mail z poziomu konsoli i doszedł, czy nie?
Odpal phpinfo i poszukaj, czy masz sendmail_path zdefioniowane, może
literówkę zrobiłeś ;< Spójrz też w sekcję standard, czy jest tam
zdefionowane "path to sendmail". Jeśli wszystko jest to nie ma sans,
żeby nei działało ;-)
EDIT: ach te literówki
Witam,
Mam nastepujacy problem, chcialbym uzywac na swoim serwerze dedykowanym
funkcji mail, lecz nie moge poradzic sobie z jej ustawieniem, php
dziala, instaluje sendmaila poprzez yum, wtedy sprawdzam gdzie sie
pojawil:
/usr/lib
/usr/sbin/
/etc/sysconfig || tutaj dziala
Po chmod +x /etc/sysconfig/sendmail ... uruchamiam go,wyglada na to ze
sie normalnie uruchamia, wiec nastepnie rekompiluje php, ustawiam w
pliku php.ini sciezke /etc/sysconfig/sendmail -t -i , restartuje
apache'a i sprawdzam czy dziala mi juz formularz kontaktowy, niestety
nie, dostaje komunikat Fatal error: Call to undefined function: mail()
in ...
Nie mam juz pomyslow, prosze o jakies porady.
Z gory bardzo dziekuje.
Pozdrawiam
Amster