Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Funkcja mail()
m4rku5
post 1.03.2023, 12:09:29
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 31.08.2012

Ostrzeżenie: (0%)
-----


Jak skonstruować funkcję mail() aby wysyłał maile z formularza kontaktowego przez obcy serwer (podając email i hasło w skrypcie do konkretnego konta email na serwerze np. poczta.wp.pl)
Go to the top of the page
+Quote Post
Salvation
post 1.03.2023, 12:48:28
Post #2





Grupa: Zarejestrowani
Postów: 344
Pomógł: 70
Dołączył: 15.07.2014

Ostrzeżenie: (0%)
-----


Najwygodniej, to skorzystać z dostępnych bibliotek.
- https://github.com/symfony/mailer
- https://github.com/PHPMailer/PHPMailer
Go to the top of the page
+Quote Post
uziom
post 4.04.2023, 17:30:33
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 1
Dołączył: 4.04.2023

Ostrzeżenie: (10%)
X----


Wysyłanie maili z formularza kontaktowego przez obcy serwer z wykorzystaniem funkcji mail() w PHP może być wykonane za pomocą protokołu SMTP. Aby to zrobić, musisz zdefiniować kilka zmiennych i funkcji, a następnie użyć ich do wysłania wiadomości e-mail przez serwer SMTP.

Zdefiniuj zmienne dla Twojego konta e-mail, w tym adres e-mail, hasło, nazwę nadawcy i odbiorcę

  1. $email_to = 'adres-odbiorcy@example.com';
  2. $email_subject = 'Temat wiadomości';
  3. $email_from = 'nazwa-nadawcy@example.com';
  4. $email_from_name = 'Nazwa Nadawcy';
  5. $email_body = 'Treść wiadomości';
  6. $smtp_host = 'smtp.example.com';
  7. $smtp_username = 'adres-email@example.com';
  8. $smtp_password = 'hasło-do-email';
  9. $smtp_port = 587;


Zdefiniuj funkcję send_email() do wysyłania wiadomości e-mail.
  1. function send_email($to, $subject, $body, $from, $from_name, $smtp_host, $smtp_username, $smtp_password, $smtp_port) {
  2. require_once('phpmailer/PHPMailerAutoload.php');
  3.  
  4. $mail = new PHPMailer;
  5. $mail->isSMTP();
  6. $mail->SMTPDebug = 0;
  7. $mail->Debugoutput = 'html';
  8. $mail->Host = $smtp_host;
  9. $mail->Port = $smtp_port;
  10. $mail->SMTPSecure = 'tls';
  11. $mail->SMTPAuth = true;
  12. $mail->Username = $smtp_username;
  13. $mail->Password = $smtp_password;
  14. $mail->setFrom($from, $from_name);
  15. $mail->addAddress($to);
  16. $mail->Subject = $subject;
  17. $mail->msgHTML($body);
  18.  
  19. if (!$mail->send()) {
  20. return false;
  21. } else {
  22. return true;
  23. }
  24. }

Wywołaj funkcję send_email() i przekaż zdefiniowane zmienne jako parametry.
  1. if (isset($_POST['submit'])) {
  2. $name = $_POST['name'];
  3. $email = $_POST['email'];
  4. $message = $_POST['message'];
  5. $body = "Od: $name<br>Email: $email<br>Treść: $message";
  6.  
  7. if (send_email($email_to, $email_subject, $body, $email_from, $email_from_name, $smtp_host, $smtp_username, $smtp_password, $smtp_port)) {
  8. echo 'Wiadomość została wysłana.';
  9. } else {
  10. echo 'Wysyłanie wiadomości nie powiodło się.';
  11. }
  12. }


Upewnij się, że w folderze z Twoim skryptem znajduje się folder phpmailer z biblioteką PHPMailer, którą można pobrać ze strony https://github.com/PHPMailer/PHPMailer.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.04.2024 - 00:17