Witam!
Zrobiłem prosty formularz i skonfigurowałem do niego skrypt phpmailer żeby wysyłało mi wiadomości na skrzynkę
Przetestowałem to na stronie testowej napisanej w HTML-u i działa prawidłowo.
Nie wiem natomiast jak umieścić to wszystko w Joomli
Formularz który umieściłem w module na stronie wygląda tak:
Kod HTML:
<form action="mailer/send_mail.php" method="post" name="kontakt"><fieldset class="Newsletter"><legend>Newsletter</legend>
<div> </div>
<div><input type="text" name="email" title="Email" id="txtEmail" class="text"></div>
<input type="submit" value="Wyślij" /></fieldset></form>
Natomiast skrypt php umieszczony jest w pliku o nazwie send_mail.php w podkatalogu mailer. W tym samym katalogu znajdują się jeszcze pliki class.phpmailer.php i class.smtp.php i katalog z plikami PHPMailer
Skrypt wygląda tak:
Kod PHP:
<?phpif(!$_POST) exit;if (!defined("PHP_EOL")) define("PHP_EOL", "\r\n");
// Poniżej przypisywanie do naszych zmiennych, danych otrzymanych z formularza
$email = $_POST['email'];
// Sprawdzanie wprowadzonych danych:if(trim($email) == '') { echo '<div class="error_message">Uwaga. Prosimy o podanie poprawnego adresu email.</div>'; exit();}
if(get_magic_quotes_gpc()) { $comments = stripslashes($comments);}
$msg = "Ktoś kontaktuje się z Tobą za pośrednictwem formularza na stronie.<br />Treść wiadomości: <br />\"$comments\"<br /><br /><small>Możesz odpowiedzieć $name poprzez email: $email lub telefonicznie: $phone</small>";
require_once('mailer/PHPMailer/PHPMailerAutoload.php'); # patch where is PHPMailer / ścieżka do PHPMailera
$mail = new PHPMailer;$mail->CharSet = "UTF-8";
$mail->IsSMTP();$mail->Host = 'smtp.gmail.com'; # Gmail SMTP host$mail->Port = 465; # Gmail SMTP port$mail->SMTPAuth = true; # Enable SMTP authentication / Autoryzacja SMTP$mail->Username = "moja_poczta@gmail.com"; # Gmail username (e-mail) / Nazwa użytkownika$mail->Password = "******"; # Gmail password / Hasło użytkownika$mail->SMTPSecure = 'ssl';
#$mail->From = ''; # REM: Gmail put Your e-mail here$mail->FromName = 'Wiesiek'; # Sender name$mail->addAddress('moja_poczta@gmail.com', 'Patryk'); # Recipient (e-mail address + name) / Odbiorca (adres e-mail i nazwa)
$mail->IsHTML(true); # Email @ HTML
$mail->Subject = 'Temat';$mail->Body = $email;$mail->AltBody = 'Treść wiadomości jako tekst';
if(!$mail->Send()) {echo 'Some error... / Jakiś błąd...';echo 'Mailer Error: ' . $mail->ErrorInfo;exit;}
echo 'Message has been sent (OK) / Wiadomość wysłana (OK)';
?>
Dodam, że po kliknięciu wyślij przeglądarka kieruje się na adres: http://moja_strona/index.php/mailer/send_mail.php i komunikat na stronie: #404 Kategorii nie znaleziono