Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z formularzem phpmailer
Poczatkujacy_Web
post
Post #1





Grupa: Zarejestrowani
Postów: 145
Pomógł: 0
Dołączył: 30.07.2012
Skąd: Łódź

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


Witam,

mam problem z dostosowaniem formularza tak aby wysyłał 2 maile

1 - do mnie, z wypełnionymi danymi na stronie - to działa ok
2 - do klienta z podziękowaniem i załączonym plikiem

Co aktualnie robi mój kod
- Przesyła email do mnie i do klienta
- Załącznik zamiast dołączyć do klienta dołącza do wiadomości do mnie

Co chciałbym skorygować:
- Załącznik powinien być przesyłany jedynie do klienta
- Chciałbym również dodać opóźnienie wysyłki maila do klienta

Poniżej mój kod, będę wdzięczny za każdą pomoc.

Pozdrawiam!



  1. <?php
  2.  
  3. require_once 'class.phpmailer.php';
  4.  
  5. $_POST = array_map('trim', $_POST);
  6.  
  7. $error = false;
  8.  
  9. if (!isset($_POST['contact_name']) || empty($_POST['contact_name'])) {
  10. $error = true;
  11. }
  12.  
  13. if (!isset($_POST['contact_email']) || empty($_POST['contact_email']) || !PHPMailer::ValidateAddress($_POST['contact_email'])) {
  14. $error = true;
  15. }
  16.  
  17. if (!isset($_POST['contact_body']) || empty($_POST['contact_body'])) {
  18. $error = true;
  19. }
  20.  
  21. if (!isset($_POST['contact_check']) || empty($_POST['contact_check']) || (int) $_POST['contact_check'] !== ((int) $_POST['contact_check_data'][0] * (int) $_POST['contact_check_data'][1])) {
  22. $error = true;
  23. }
  24.  
  25. if ($error) {
  26. exit('nok');
  27. }
  28.  
  29. $mail = new PHPMailer();
  30.  
  31. $mail->CharSet = 'UTF-8';
  32. $mail->SetFrom($_POST['contact_email'], $_POST['contact_name']);
  33. $mail->AddAddress(mojadres@gmail.com');
  34. $mail->Subject = 'Wiadomość ze strony internetowej';
  35. $mail->Body = $_POST['contact_body'];
  36.  
  37.  
  38.  
  39. /* Prepare autoresponder subject */
  40. $respond_subject = "Thank you for contacting us!";
  41. $emailfrom = "mojadres@gmail.com";
  42. $email = ($_POST['contact_email']);
  43.  
  44. /* Prepare autoresponder message */
  45. $respond_message = "Hello!
  46.  
  47.  
  48. Thank you for contacting us! We will get back to you
  49. as soon as possible!
  50.  
  51. Yours sincerely,
  52.  
  53. Your name
  54. www.yourwebsite.com
  55. ";
  56.  
  57. /* Send the message using mail() function */
  58.  
  59. mail($email, $respond_subject, $respond_message, "From: $emailfrom");
  60. $mail->AddAttachment("../oferta.pdf");
  61.  
  62.  
  63.  
  64.  
  65. if (!$mail->Send()) {
  66.  
  67.  
  68. exit('nok');
  69. }
  70.  
  71.  
  72.  
  73.  
  74.  
  75. exit('ok');
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
lukaskolista
post
Post #2





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


Czemu do wysyłki jednego emaila używasz biblioteki PHPMailer, a do wysyłki drugiego natywnej funkcji mail?
Go to the top of the page
+Quote Post
Poczatkujacy_Web
post
Post #3





Grupa: Zarejestrowani
Postów: 145
Pomógł: 0
Dołączył: 30.07.2012
Skąd: Łódź

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


Cytat(lukaskolista @ 6.09.2016, 16:43:34 ) *
Czemu do wysyłki jednego emaila używasz biblioteki PHPMailer, a do wysyłki drugiego natywnej funkcji mail?


bo tylko tak to działa (IMG:style_emoticons/default/smile.gif) jak masz sugestie jak mogę to rozwiązać prawidłowo to proszę o podpowiedź, bądź jakiś przykład
Go to the top of the page
+Quote Post
lukaskolista
post
Post #4





Grupa: Zarejestrowani
Postów: 872
Pomógł: 94
Dołączył: 31.03.2010

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


  1. $mail = new PHPMailer;
  2. $mail->setFrom('from@example.com', 'Your Name');
  3. $mail->addAddress('myfriend@example.net', 'My Friend');
  4. $mail->Subject = 'First PHPMailer Message';
  5. $mail->Body = 'Hi! This is my first e-mail sent through PHPMailer.';
  6. if(!$mail->send()) {
  7. echo 'Message was not sent.';
  8. echo 'Mailer error: ' . $mail->ErrorInfo;
  9. } else {
  10. echo 'Message has been sent.';
  11. }

Powyższe wykonaj 2x jedno pod drugim - 1 raz dla użytkownika, drugi dla Ciebie.
(Jakość powyższego rozwiązania jest kiepska, ale działa).
Go to the top of the page
+Quote Post
Poczatkujacy_Web
post
Post #5





Grupa: Zarejestrowani
Postów: 145
Pomógł: 0
Dołączył: 30.07.2012
Skąd: Łódź

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


Cytat(lukaskolista @ 7.09.2016, 12:58:42 ) *
  1. $mail = new PHPMailer;
  2. $mail->setFrom('from@example.com', 'Your Name');
  3. $mail->addAddress('myfriend@example.net', 'My Friend');
  4. $mail->Subject = 'First PHPMailer Message';
  5. $mail->Body = 'Hi! This is my first e-mail sent through PHPMailer.';
  6. if(!$mail->send()) {
  7. echo 'Message was not sent.';
  8. echo 'Mailer error: ' . $mail->ErrorInfo;
  9. } else {
  10. echo 'Message has been sent.';
  11. }

Powyższe wykonaj 2x jedno pod drugim - 1 raz dla użytkownika, drugi dla Ciebie.
(Jakość powyższego rozwiązania jest kiepska, ale działa).


Dzięki, naprowadziłeś mnie na rozwiązanie (IMG:style_emoticons/default/smile.gif) pozostaje jeszcze kwestia opóźnienia wysyłki tego drugiego maila, ale to już nowy temat

poniżej kod, gdyby ktoś szukał podobnego rozwiązania.

  1. <?php
  2.  
  3. require_once 'class.phpmailer.php';
  4.  
  5. $_POST = array_map('trim', $_POST);
  6.  
  7. $error = false;
  8.  
  9. if (!isset($_POST['contact_name']) || empty($_POST['contact_name'])) {
  10. $error = true;
  11. }
  12.  
  13. if (!isset($_POST['contact_email']) || empty($_POST['contact_email']) || !PHPMailer::ValidateAddress($_POST['contact_email'])) {
  14. $error = true;
  15. }
  16.  
  17. if (!isset($_POST['contact_body']) || empty($_POST['contact_body'])) {
  18. $error = true;
  19. }
  20.  
  21. if (!isset($_POST['contact_check']) || empty($_POST['contact_check']) || (int) $_POST['contact_check'] !== ((int) $_POST['contact_check_data'][0] * (int) $_POST['contact_check_data'][1])) {
  22. $error = true;
  23. }
  24.  
  25. if ($error) {
  26. exit('nok');
  27. }
  28.  
  29. $mail = new PHPMailer();
  30.  
  31. $mail->CharSet = 'UTF-8';
  32. $mail->SetFrom($_POST['contact_email'], $_POST['contact_name']);
  33. $mail->AddAddress('infozformularza@gmail.com');
  34. $mail->Subject = 'Wiadomość ze strony internetowej';
  35. $mail->Body = $_POST['contact_body'];
  36.  
  37.  
  38.  
  39. if(!$mail->send()) {
  40. echo 'Message was not sent.';
  41. echo 'Mailer error: ' . $mail->ErrorInfo;
  42. } else {
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49. $mail = new PHPMailer();
  50.  
  51.  
  52. $mail->CharSet = 'UTF-8';
  53. $mail->SetFrom('mojmail@gmail.com', 'Ja');
  54. $mail->AddAddress($_POST['contact_email'], $_POST['contact_name']);
  55. $mail->Subject = "Thank you for contacting us!";
  56. $mail->Body = "Hello!
  57.  
  58. Thank you for contacting us! We will get back to you
  59. as soon as possible!
  60.  
  61. Yours sincerely,
  62.  
  63. Your name
  64. www.yourwebsite.com
  65. ";
  66.  
  67.  
  68. $mail->AddAttachment("../plik.pdf");
  69.  
  70.  
  71.  
  72. if(!$mail->send()) {
  73. echo 'Message was not sent.';
  74. echo 'Mailer error: ' . $mail->ErrorInfo;
  75. } else {
  76.  
  77. exit('ok');
  78. }
  79. }
  80.  
  81. ?>

Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 24.12.2025 - 23:02