Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][mySQL] generowanie emaili z danymi pobranymi z DB
suse
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 10.07.2007

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


Witam,

Postaram sie jak najkrocej opisac moj problem.

Staram sie stworzyc mechanizm, ktory bedzie wysylal automatycznie emaile do dwoch grup uzytkownikow systemu:

1. Aplikantow, ktorzy zarejestrowali Projekt (glowni adresaci)
2. Pozostalych osob 'zamieszanych' w Projekt (adresaci Cc)

Glowna funkcja (w uproszczeniu) wyglada tak:

  1. <?php
  2. function send_email() {
  3.  
  4.  
  5. $subject = "Raport koncowy";
  6.  
  7.  
  8. $query = "SELECT (...)
  9. FROM project, people, members
  10. WHERE (...)
  11. AND members.status = 'Aplikant'
  12. ORDER BY project.id
  13. ";
  14.  
  15.  
  16.  
  17. $this->dblayer->runQuery($query);
  18.  
  19. while ($row = $this->dblayer->getNextRow()) {
  20.  
  21.  
  22.  
  23.  
  24. $to_address = $row['email'];
  25.  
  26. $row['cc_email'] = $this->list_ccEmails($row['project_id'], $row['applicant_id']);
  27.  
  28.  
  29.  $headers = "From: system@domain.comrn";
  30.  $headers .= .$row['cc_email']."rn"; #*****#
  31.  $headers .= "Bcc: admin@domain.comrn";
  32.  $headers .= "Content-Type: text/html; charset=ISO-8859-1 ";
  33.  $headers .= "MIME-Version: 1.0 ";
  34.  
  35. $body = "<p>Do: ".$row['first_name']." ".$row['last_name'].", </p>";
  36.  
  37. $body .= "<p>Dotyczy projektu: ".$row['project_id']." - ".stripslashes($row['project_title'])."</p>";
  38. $body .= "(...)";
  39.  
  40. if (mail($to_address, $subject, $body, $headers)) {
  41.  
  42.  
  43. $email_to = addslashes($to_address);
  44. $email_cc = addslashes($row['cc_email']);
  45. $email_subject = addslashes($subject);
  46. $project_id = $row['project_id'];
  47. $followup_date = date('Y-m-d', strtotime($row['follow_up_date']));
  48. $sql = "INSERT INTO
  49. (...)
  50.  ";
  51.  
  52.  $added = $this->dblayer->runInsert($sql);
  53.  
  54. if (!$added) {
  55. $error_returned .= mysql_error();
  56.  return $error_returned;
  57.  }
  58.  
  59.  }
  60. }
  61. }
  62. ?>


Do generowania listy adresatow Cc mam druga funkcje list_ccEmails i generuje ona ciag adresow poprawnie.

Problem lezy w tym, ze gdy staram sie w powyzszy sposob (linia kodu oznaczona #*****#) wstawic do emaila ciag cc, wysylany jest tylko jeden email z listy, dotyczacy pierwszego projektu (do Aplikanta i osob cc).

Gdy do zmiennej $row['cc_email'] przypisze zamiast

  1. <?php
  2. $row['cc_email'] = $this->list_ccEmails($row['project_id'], $row['applicant_id']);
  3. ?>


jakis ciag, np tak:

  1. <?php
  2. $row['cc_email'] = "adres1@doman, adres2@domain";
  3. ?>



wysylane sa wszystkie emaile do Aplikantow kazdego projektu, ale rzecz jasna bez Cc


Czy ktos moglby mi podpowiedziec gdzie robie blad? Mecze sie z tym juz od kilku dni i chyba sie zapetlilam...

Z gory dziekuje

suse

Ten post edytował suse 10.07.2007, 21:57:59
Go to the top of the page
+Quote Post

Posty w temacie


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: 15.09.2025 - 10:00