Avatar billede tipsen Nybegynder
11. november 2003 - 14:42 Der er 11 kommentarer og
1 løsning

Korrekt angivelse af modtagere i mail()

Hej eksperter

Jeg er ved at lave et script som sender mails ud til flere personer på én gang - nogle personer vil modtage denne mail på flere af deres emailadresser og jeg ønsker at kunne angive flere modtagere i "To: " argumentet i mail()!

Eksempelvis:

mail('Tommy Ipsen <blabla@server1.dk>, Tommy Ipsen <blabla@server2.dk>', $subject, $body);

Hvis jeg forsøger dette, får jeg fejlen:

Warning: mail() [function.mail.html]: SMTP server response: 501 5.5.4 Syntax error in parameters scanning

Hvordan skal flere modtagere angives, når jeg også gerne vil have navn med?

Følgende fungerer fint:

mail('Tommy Ipsen <blabla@server1.dk>', $subject, $body);

På forhånd tak!

Mvh

Tommy
Avatar billede krydset Nybegynder
11. november 2003 - 14:44 #1
Så skal du køre det med en database, det er nok lettest
Avatar billede tipsen Nybegynder
11. november 2003 - 14:47 #2
Hvordan vil brugen af en database ændre på fejlen fra mail() ?

(Jeg bruger en database - dét er ikke problemet - men, korrekt, det er lettest!)
Avatar billede krydset Nybegynder
11. november 2003 - 14:48 #3
og så bagefter
$mail = mysql_query("SELECT * FROM modtagere") or die(mysql_error());

while ($row = mysql_fetch_array($mail)) {
      $modtager = $row[modtagere];
}

mail("$modtager"', $subject, $body);
Avatar billede krydset Nybegynder
11. november 2003 - 14:48 #4
du kan vis ikke gøre det på den anden måde
Avatar billede krydset Nybegynder
11. november 2003 - 14:49 #5
mail("$modtager", "$subject", "$body");
Avatar billede tipsen Nybegynder
11. november 2003 - 14:50 #6
Det eneste jeg skal bruge er syntaksen for at angive flere modtagere med både navn og email som input til mail() !
Avatar billede fangel Nybegynder
11. november 2003 - 14:51 #7
se PHP.net's man sides ex

---
<?php
/* recipients */
$to  = "Mary <mary@example.com>" . ", " ; // note the comma
$to .= "Kelly <kelly@example.com>";

/* subject */
$subject = "Birthday Reminders for August";

/* message */
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
  <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
  <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
  <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* additional headers */
$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";

$headers .= "Cc: birthdayarchive@example.com\r\n";
$headers .= "Bcc: birthdaycheck@example.com\r\n";

/* and now mail it */
mail($to, $subject, $message, $headers);
?>
--

man kan altså godt!

Morten
Avatar billede krydset Nybegynder
11. november 2003 - 14:51 #8
hmm det ved jeg ikke, jeg har kun lavet det med db før :-O
Avatar billede tipsen Nybegynder
11. november 2003 - 14:58 #9
krydset: Dette er også med db...
dea: Det er jo præcis den syntax jeg bruger til modtager feltet - blot får jeg fejl... :-/
Avatar billede fangel Nybegynder
11. november 2003 - 14:59 #10
tipsen -> mystisk - det kan jeg godt se - mystisk

Morten
Avatar billede tipsen Nybegynder
11. november 2003 - 15:39 #11
Fandt følgende på manual-siden:

Note: The to parameter cannot be an address in the form of "Something <someone@example.com>". The mail command will not parse this properly while talking with the MTA.

-det sjove er så, at det faktisk fungerede fint med én mailadresse med tilhørende navn - men ikke med flere!

-der skulle vist også være lidt issues, med Windows og mail()!

Jeg endte med at lave én pæn modtager adresse og smed evt. ekstra emailadresser i et Cc-felt!
Avatar billede tipsen Nybegynder
12. november 2003 - 12:54 #12
*lukker*
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester

IT-JOB

Forsvarsministeriets Materiel- og Indkøbsstyrelse

Cyberdivisionen søger IT-supporter til lokal IT Korsør

Capgemini Danmark A/S

AI/Data Engineer

Capgemini Danmark A/S

AI Data Architect