/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Bcc mail til flere postmodtagere
Fra : Poul Erik Jensen


Dato : 13-10-05 13:10

Selve siden er af åbenlyse grunde password-beskyttet.

$bcc genereres kommasepareret fra sql-data.
Følgende rutine virkede ikke korrekt.

$from = "$navn <$email>";
$to = 'navn <email>';
$bcc = "navn1 <email1>, navn2 <email2>[, osv.]";
$subject = $emne;
$message.= "$tekst\n";
$headers = 'From: ' . $from . '\r\n';
$headers.= 'Bcc: ' . $bcc . '\r\n';
$headers.= 'Reply-To:' . $from . '\r\n';
$headers.= 'Disposition-Notification-To: $navn <$email>'. "\r\n";
$headers.= 'MIME-Version: 1.0 \r\n';
$headers.= 'Content-Type: text/plain; charset=iso-8859-1' . "\r\n";
$headers.= 'X-Mailer: PHP/' . phpversion();

if($send) mail($to, $subject, $message, $headers);

To: Bcc: Reply-To: og Disposition-Notification-To: samler sig i en linie.

Hvad er der galt?

Header på mail sendt med rutinen [navne ofg adresser ændret]:

Return-Path: <postmaster>
X-Original-To: skolekammeraten
Delivered-To: skolekammeraten
Received: from mx3.b-one.net (mx3.b-one.net [195.47.247.23])
by mail1.b-one.net (Postfix) with ESMTP id 8B8A51008566
for <skolekammeraten>; Thu, 13 Oct 2005 03:01:46 +0200 (CEST)
Received: from mo1.b-one.net (mo1.b-one.net [195.47.247.27])
by mx3.b-one.net (Postfix) with ESMTP id 9BEB828004CD
for <skolekammeraten>; Thu, 13 Oct 2005 03:01:45 +0200 (CEST)
Received: from localhost.localdomain (srv4.b-one.net [195.47.247.43])
by mo1.b-one.net (Postfix) with ESMTP id 83C3D140585CA
for <skolekammeraten>; Thu, 13 Oct 2005 03:01:45 +0200 (CEST)
To: Skolekammeraten informere <skolekammeraten>
Subject: Test
From: Test <test>\r\nBcc: navn1 <email1>, navn2 <email2>\r\nReply-To:Test
<test>\r\nDisposition-Notification-To: skolekammeraten <skolekammeraten>
MIME-Version: 1.0 \r\nContent-Type: text/plain; charset=iso-8859-1
X-Mailer: PHP/4.4.0
Message-Id: <20051013010145.83C3D140585CA@mo1.b-one.net>
Date: Thu, 13 Oct 2005 03:01:45 +0200 (CEST)
X-Virus-Scanned: by b-one.net

--
Med venlig hilsen Poul Erik Jensen
www.genealog.dk www.skolekammeraten.dk
Subj. må tilføjes [1234] ved direkte svar




 
 
Geert Lund (13-10-2005)
Kommentar
Fra : Geert Lund


Dato : 13-10-05 13:21

Poul Erik Jensen wrote:

> $message.= "$tekst\n";
> $headers = 'From: ' . $from . '\r\n';
> $headers.= 'Bcc: ' . $bcc . '\r\n';
> $headers.= 'Reply-To:' . $from . '\r\n';
> $headers.= 'Disposition-Notification-To: $navn <$email>'. "\r\n";
> $headers.= 'MIME-Version: 1.0 \r\n';
> $headers.= 'Content-Type: text/plain; charset=iso-8859-1' . "\r\n";
> $headers.= 'X-Mailer: PHP/' . phpversion();

Du får 1) blandet brugen af "" og '' forkert... - når du bruger ''
parses PHP udtryk (variabler) ikke men skrive bogstaveligt...

Dine felter afsluttes også med \r\n hvilket så vidt jeg ved også er
forkert - de skal kun afsluttes med en \n

Prøv:

$message.= "$tekst\n";
$headers = "From: " . $from . "\n";
$headers.= "Bcc: " . $bcc . "\n";
$headers.= "Reply-To:" . $from . "\n";
$headers.= "Disposition-Notification-To: $navn <$email>\n;
$headers.= "MIME-Version: 1.0\n";
$headers.= "Content-Type: text/plain; charset=iso-8859-1\n";
$headers.= "X-Mailer: PHP/" . phpversion() . "\n";

Det burde virke...

--
Med venlig hilsen
Geert Lund,
www.GLD.dk

Geert Lund (13-10-2005)
Kommentar
Fra : Geert Lund


Dato : 13-10-05 13:23

Geert Lund wrote:

> $headers.= "Disposition-Notification-To: $navn <$email>\n;

Altså - der skal selvfølgelig være en " i slutningen af denne...

//Geert

Poul Erik Jensen (13-10-2005)
Kommentar
Fra : Poul Erik Jensen


Dato : 13-10-05 13:35

"Geert Lund" <glund-news@post.tele.dk> skrev i en meddelelse
news:434e50c3$0$165$edfadb0f@dtext02.news.tele.dk...
> Prøv:
>
> $headers.= "Bcc: " . $bcc . "\n";
>
> Det burde virke...

Tak, det prøver jeg.



Peter Brodersen (13-10-2005)
Kommentar
Fra : Peter Brodersen


Dato : 13-10-05 14:33

On Thu, 13 Oct 2005 14:21:12 +0200, Geert Lund
<glund-news@post.tele.dk> wrote:

>Dine felter afsluttes også med \r\n hvilket så vidt jeg ved også er
>forkert - de skal kun afsluttes med en \n

Nej, praktisk talt alle Internet-protokoller bruger \r\n.

Det kan tænkes, at en minimum af defekte unix-mailapplikationer kun
vil acceptere \n, men det er næppe noget, man bør basere sin kode på.
Det kan i højere grad tænkes, at applikationerne bliver mere strikse i
fremtiden, og så er det fint at gøre det korrekt.

--
- Peter Brodersen

Geert Lund (13-10-2005)
Kommentar
Fra : Geert Lund


Dato : 13-10-05 15:52

Peter Brodersen wrote:

> Nej, praktisk talt alle Internet-protokoller bruger \r\n.

Sorry my bad - det ændrede dog ikke på det faktum at linierne ikke blev
parset :)

Thomas Finnerup (15-10-2005)
Kommentar
Fra : Thomas Finnerup


Dato : 15-10-05 10:02

On Thu, 13 Oct 2005 15:33:00 +0200, Peter Brodersen
<usenet2005@ter.dk> wrote:

> On Thu, 13 Oct 2005 14:21:12 +0200, Geert Lund
> <glund-news@post.tele.dk> wrote:
>
> > Dine felter afsluttes også med \r\n hvilket så vidt jeg ved også er
> > forkert - de skal kun afsluttes med en \n
>
> Nej, praktisk talt alle Internet-protokoller bruger \r\n.

Ifølge http://dk.php.net/manual/en/function.mail.php skal mailbodyens
linieskift kun bestå af LF, mens mailheaderens linieskift skal bestå
af CRLF. Underligt, men sådan er der jo så meget.


Venligst
Thomas

Poul Erik Jensen (13-10-2005)
Kommentar
Fra : Poul Erik Jensen


Dato : 13-10-05 16:53

"Geert Lund" <glund-news@post.tele.dk> skrev i en meddelelse
news:434e50c3$0$165$edfadb0f@dtext02.news.tele.dk...

> Det burde virke...

Du havde ret - bortset fra Peters bemærkning, og nu virker det.

Tak for hjælpen.

--
Med venlig hilsen Poul Erik Jensen
www.genealog.dk www.skolekammeraten.dk
Subj. må tilføjes [1234] ved direkte svar




Poul Erik Jensen (14-10-2005)
Kommentar
Fra : Poul Erik Jensen


Dato : 14-10-05 17:11

"Geert Lund" <glund-news@post.tele.dk> skrev i en meddelelse
news:434e50c3$0$165$edfadb0f@dtext02.news.tele.dk...
> Poul Erik Jensen wrote:
>
>> $headers.= 'Bcc: ' . $bcc . '\r\n';

> Prøv:
> $headers.= "Bcc: " . $bcc . "\n";
> Det burde virke...

Og det gjorde det da også så længe $bcc indeholdt to adresser:
"navn1 <email1>, navn2 <email2>"

Det gik blot ikke med opsumering af et par hundrede mailadresser leveret fra
sql-databasen i et loop:
$bcc.= ", $email";

Antageligt skyldes det, at Bcc:-linien så er længere end tilladt, men den
lader sig ikke knække med \n
F.eks.: $bcc.= ", $email\n"; eller $bcc.= ",\n$email";
- i hvert fald kan jeg ikke få det til at fungere.

Er der nogen der kan pege på fejl eller ved how to do?

--
Med venlig hilsen Poul Erik Jensen
www.genealog.dk www.skolekammeraten.dk
Subj. må tilføjes [1234] ved direkte svar






Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408847
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste