Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [class] phpmailer w formularzu kontaktowym z kopią dla użytkownika
Arti79
post
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.03.2006
Skąd: Warszawa

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


Witam,

Chciałbym wykorzystać phpmailer do formularza kontaktowego, ale nie wiem jak dołączyć wysyłanie kopii wiadomości do użytkownika jeżeli zaznaczy checkbox że chce otrzymać kopię danych wpisanych w formularzu.

Problem polega na tym, że chciałbym rozbić wysyłkę na dwa emaile tak żeby użytkownik nie wiedział gdzie poszedł e-mail poza kopią którą on otrzyma, standardowo wpisuję

$mail->AddAddress("email1@test.pl", "Ja");
$mail->AddAddress($email_z_formularza, $imie_z_formularza);

ale wtedy jedna wiadomość ma w polu do dwa e-maile.

Jak wykorzystać klasę phpmailer w formularzu kontaktowym, żeby użytkownik otrzymywał kopię danych wpisanych w formularzu jeżeli zaznaczy taką chęć poprzez checkbox, a dodatkowo żeby były wysyłane dwa e-maile tak żeby użytkownik nie miał w polu do swojego e-maila i mojego ?

W miarę potrzeb mogę wrzucić trochę kodu formularza

Z góry dziękuję za pomoc

Pozdrawiam
Artur
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

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


Na przyszłość warto zapoznać się z innymi metodami w klasie.
Pewnie zainteresują Cię PHPMailer::AddCC() i PHPMailer::AddBCC() tongue.gif
Go to the top of the page
+Quote Post
Arti79
post
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.03.2006
Skąd: Warszawa

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


Nie do końca... znam AddCC() i AddBCC(), ale wolałbym wrzucić np. swój adres i adres podany w formularzu do tablicy, a później jakąś pętelką wrzucić je do AddAddress, chciałbym trochę przerobić treści wysyłane do mnie i jako kopię do użytkownika, np. treści wysyłanej do mnie byłby dodatkowo adres ip użytkownika który wysłał wiadomość poprzez formularz... mam nadzieje że teraz jasno napisałem...

  1. <?php
  2. $query  = "SELECT em_adres_email FROM tabela";
  3.  
  4. $result = mysql_query($query);
  5.  
  6. while ($row = mysql_fetch_array ($result))
  7. {
  8.  
  9. $mail->AddAddress($row["em_adres_email"], $row["em_adres_email"]);
  10.  
  11. }
  12. ?>


Coś podobnego robię wysyłając e-mailing z bazy mysql, a jak takie coś zrobić na tablicy dla dwóch e-mail (mojego i wpisanego przez użytkownika w formularzu) questionmark.gif

Pozdrowienia
Artur

Ten post edytował Arti79 18.09.2008, 22:48:54


--------------------
Pozdrowienia
Artur
Go to the top of the page
+Quote Post
camikazee
post
Post #4





Grupa: Zarejestrowani
Postów: 171
Pomógł: 18
Dołączył: 17.04.2006
Skąd: Bydgoszcz

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


Rozwiązań jest kilka, wymienię cztery:

1. Możesz stworzyć drugi obiekt
2. Możesz dodać jednego odbiorcę, wysłać maila, następnie wykasować odbiorców metoda ClearAddresses, znów dodać odbiorcę (siebie) dodać drugą treść (Body) i wysłać (czysto teoretyczne rozważanie, bo nie próbowałem)
3. Skorzystać z funkcji mail() smile.gif Myślę, że na potrzeby formularza będzie to wystarczające, budujesz dwa stringi z oddzielnymi treściami i wysyłasz
4. Korzystasz z prostszej klasy


--------------------
www.fachoweuslugi.pl | www.zlec-usluge.pl | www.pokazsie.pl
Go to the top of the page
+Quote Post
Arti79
post
Post #5





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.03.2006
Skąd: Warszawa

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


A możesz coś więcej napisać o pkt. 1 i 2 ?

Wolałbym skorzystać właśnie z tej klasy...
Go to the top of the page
+Quote Post
nospor
post
Post #6





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




ojj... no chyba dość zrozumiale napisal.
1) Dodajesz pierwszego adresata
2) wysylasz maila
3) czyscisz dodanego adresata - ClearAdresses
4) Dodajesz kolejnego adresata
5) znowu wysylasz maila


ps:
Cytat
4. Korzystasz z prostszej klasy

PHPMailer jest naprawde prostą klasą


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Arti79
post
Post #7





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.03.2006
Skąd: Warszawa

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


oki, czyli mniej więcej tak:

  1. <?php
  2. $mail->AddAddress("moj_email@email.pl", "Ja");
  3.   if($mail->Send()) {
  4.   echo "wysłane";
  5.  } else {
  6.  echo "błąd";
  7. }
  8. $mail->ClearAddresses();
  9.  
  10.  
  11. $mail->AddAddress("user_email@email.pl", "User");
  12.   if($mail->Send()) {
  13.   echo "wysłane";
  14.  } else {
  15.  echo "błąd";
  16. }
  17. $mail->ClearAddresses();
  18. ?>
Go to the top of the page
+Quote Post
nospor
post
Post #8





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Te ostatnie ClearAddresses jest zbedne. Przeciez juz wiecej nic nie wysylasz winksmiley.jpg


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Arti79
post
Post #9





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 26.03.2006
Skąd: Warszawa

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


Spróbuję tak jak napisałem wyżej po waszych sygestiach, bez ostatniego ClearAddresses.

Dziękuję nospor i camikazee za pomoc.

Ten post edytował Arti79 19.09.2008, 08:50:57
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 Aktualny czas: 21.08.2025 - 19:24