Wysyłanie maili

Tutaj dyskutujemy o PHP oraz zgłaszamy i rozwiązujemy problemy dotyczące tego języka.
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Wysyłanie maili

Post przez Morfidon »

Jak oddzielić kod html od php ma Pan w kursie dot. Smarty.

Natomiast tutaj tak jak napisałem wyżej, aby napisać w php kod html to wpisuje się kod html w funkcji echo np.

Code: Zaznacz cały

<?php echo "<b>To jest pogrubiony tekst"; ?>
solark
Bywalec
Bywalec
Posty: 45
Dołączył(a): środa, 3 listopada 2010, 19:43

Re: Wysyłanie maili

Post przez solark »

Witam
Dziękuję za odpowiedź
Nie wiem czy dobrze zrozumiałem
Czyli żeby stworzony formularz na stronie html komunikował się z skryptem php potrzebny jest smarty?
Jeszcze mam pytanie odnośnie tego kodu na Pana blogu dotyczącego wysyłania maili
Wyskakuje mi taki komunikat:
E-mail nie mógł zostać wysłany, przyczyna :Could not instantiate mail function.
Użyłem takiego kodu:

Code: Zaznacz cały

<?php 
echo '<html>  
<head>     
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />  
</head> 
<body>';       
//MIEJSCE NA NASZ SKRYPT 
require_once("../../phpmailer/class.phpmailer.php");
$mail = new PHPMailer(); 
$mail->PluginDir = "../../phpmailer/"; 
$mail->Mailer = "smtp.wp.pl"; 
$mail->Host = "ssl://smtp.wp.pl"; 
$mail->Port = 465;    
$mail->SMTPKeepAlive = true;                      
$mail->SMTPAuth = true; 
$mail->Username = "solark@wp.pl"; 
$mail->Password = "*****";    
$mail->SetLanguage("pl", "phpmailer/language/");              
$mail->CharSet = "UTF-8";     
$mail->ContentType = "text/html";                     
$mail->From = "solark@wp.pl";    
$mail->FromName = "Arek"; 
$mail->Subject = "Tytuł wiadomości"; 
$mail->Body = 'To jest nowa testowa treść, z prawidłowo interpretowanymi polskimi znaczkami, a to jest <b>pogrubione</b>, a to jest <a href="http://">link</a>'; 
$mail->AddAddress("solark@wp.pl"); 
if($mail->Send()) 
   echo "E-mail został wysłany <br>"; 
else 
   echo "E-mail nie mógł zostać wysłany, przyczyna :".$mail->ErrorInfo; 
$mail->SmtpClose();                                       
//koniec body html etc.  
echo '</body></html>';
?>   

Co może być problemem?
pozdrawiam
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Wysyłanie maili

Post przez Morfidon »

Nie nie jest w ogóle potrzebny do tego Smarty. Po prostu wtedy lepiej to wygląda i oddziela się kod HTML od PHP. Jedna os. pisze kod HTML, a druga os. PHP bez przeszkadzania sobie, co więcej kod jest bardziej przejrzysty i się później lepiej go ew. edytuje.

Funkcja "mail" nie jest dostępna na każdym serwerze. Na darmowych najczęściej jest wyłączona. Dlatego taki komunikat.
solark
Bywalec
Bywalec
Posty: 45
Dołączył(a): środa, 3 listopada 2010, 19:43

Re: Wysyłanie maili

Post przez solark »

Czy da się jakoś włączyć tę funkcję tak do testów?
A chodzi o funkcję na serwisie WP
Nie da się jakoś tego obejść?
A jeżeli nie to nie będę mógł wysyłać maili ze swojej strony na prywatną skrzynkę?
A jak w takim razie zrobić żeby strona html porozumiała się z plikiem php?
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Wysyłanie maili

Post przez Morfidon »

Nie da się tego obejść. Można zakupić tani hosting np. na netmark.pl

Wszystko co napiszesz w .php ostatecznie zmienia się w kod html. Oczywiście to co będzie widać na 'wyjściu' to jest to co wyjdzie z funkcji np. "echo", reszta po prostu zostanie interpretowana i wykonana i nie zostanie po niej śladu.

Lekcja 20 video kurs php tam masz porozumiewanie się formularzy z kodem php. Tam masz logowanie, jednak czy wysyłasz maila czy też cokolwiek innego to dane są przesyłane analogicznie.
solark
Bywalec
Bywalec
Posty: 45
Dołączył(a): środa, 3 listopada 2010, 19:43

Re: Wysyłanie maili

Post przez solark »

Witam ponownie
Szczerze mówiąc to niewiele z tego zrozumiałem
Chodzi mi o to jak przesłać dane z formularza na stronie html żeby można je było jako ś obsłużyć w plikach php?
Czy wystarczy że np. napiszę require i podam nazwę strony html w kodzie php?
Może teraz się jasno wyraziłem
pozdrawiam
Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Wysyłanie maili

Post przez Morfidon »

Ale przecież logowanie się to jest formularz i w tej lekcji dane są przesyłane.

http://www.w3schools.com/tags/att_form_action.asp

jeśli w atrybucie "action" jest np. cosik.php to do cosik.php zostaną wysłane dane z formularza w postaci tablicy $_GET lub $_POST w zależności czy napisze się w method "get" czy też "post".
solark
Bywalec
Bywalec
Posty: 45
Dołączył(a): środa, 3 listopada 2010, 19:43

Re: Wysyłanie maili

Post przez solark »

Dobrze diękuję bardzo już wiem o co chodzi
Jeszcze mam ostatni problem
Mam konto w AZ i tam jest obsługiwane php i funkcja mail Ale dalej mam ten sam błąd :E-mail nie mógł zostać wysłany, przyczyna :Could not instantiate mail function.
Używam takiego kodu:

Code: Zaznacz cały


<?php 
echo '<html>  
<head>     
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />  
</head> 
<body>';       
//MIEJSCE NA NASZ SKRYPT 
require_once("../../phpmailer/class.phpmailer.php");
$mail = new PHPMailer();
$mail->PluginDir = "../../phpmailer/"; 
$mail->Mailer = "smtp.certyfi-cad.pl"; 
$mail->Host = "ssl://smtp.certyfi-cad.pl"; 
$mail->Port = 465;    
$mail->SMTPKeepAlive = true;                      
$mail->SMTPAuth = true; 
$mail->Username = "biuro@certyfi-cad.pl"; 
$mail->Password = "*******";    
$mail->SetLanguage("pl", "phpmailer/language/");              
$mail->CharSet = "UTF-8";     
$mail->ContentType = "text/html";                     
$mail->From = "biuro@certyfi-cad.pl";    
$mail->FromName = "Arek"; 
$mail->Subject = "Tytuł wiadomości"; 
$mail->Body = 'To jest nowa testowa treść, z prawidłowo interpretowanymi polskimi znaczkami'; 
$mail->AddAddress("biuro@certyfi-cad.pl"); 
if($mail->Send()) 
   echo "E-mail został wysłany <br>"; 
else 
   echo "E-mail nie mógł zostać wysłany, przyczyna :".$mail->ErrorInfo; 
$mail->SmtpClose();                                       
//koniec body html etc.  
echo '</body></html>';
?>



Morfidon
Administrator
Administrator
Posty: 1332
Dołączył(a): wtorek, 5 sierpnia 2008, 21:48
Contact:

Re: Wysyłanie maili

Post przez Morfidon »

Ma Pan maila z domeną certyfi-cad.pl wtedy funkcja może wyglądać całkowicie inaczej, proszę spróbować najpierw ustawić wszystko na gmail.com. Tam może być inny port oraz inne ustawienia.
solark
Bywalec
Bywalec
Posty: 45
Dołączył(a): środa, 3 listopada 2010, 19:43

Re: Wysyłanie maili

Post przez solark »

Witam ponownie
Zdobyłem coś takiego Czy to wystarczy?
Secure SSL/TLS Settings

(Recommended)

Użytkownik: biuro@certyfi-cad.pl
Hasło: Use the email account’s password.

Incoming Server: az0033.srv.az.pl IMAP: Port 993
POP3: Port 995

Outgoing Server: az0033.srv.az.pl SMTP: Port 465

Authentication is required for IMAP, POP3, and SMTP.

Oraz coś takiego:
Non-SSL Settings

(NOT Recommended)

Użytkownik: biuro@certyfi-cad.pl
Hasło: Use the email account’s password.
Incoming Server: mail.certyfi-cad.pl IMAP: Port 143
POP3: Port 110

Outgoing Server: mail.certyfi-cad.pl SMTP: Port 25


Authentication is required for IMAP, POP3, and SMTP.
Post Reply