[PHP] Cc mail sturen?

Pagina: 1
Acties:

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
aargh.

waarom werkt dit niet:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    function send(){

        $headers = "";

        if($this->from_address != ""){
            $headers .= "From: " . $this->from_address . "\r\n";
        }
        if($this->cc_address != ""){
            $cc = str_replace(" ","",$this->cc_address);
            $cc = str_replace(",",", ",$cc);
            $headers .= "Cc: " . $cc . "\r\n";
        }
        mail($this->to_address, $this->subject, $this->message, $headers);
    }

dit stuurt wel netjes mailtjes maar als $this->cc_address bv dit bevat:"arie@domain.com,piet@domain2.com" dan word er aleen een cc'tje naar arie@domain.com gestuurd....

en als het dit is:"piet@domain2.com,arie@domain.com,piet" dan word er aleen een cc'tje naar piet@domain2.com gestuurd....

als je het mailtje dan bekijkt dat je ontvangt staat er toch netjes in de cc: "Cc: arie@domain.com, piet@domain2.com" terwijl piet nix krijgt

wat doe ik fout?

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • pkouwer
  • Registratie: November 2001
  • Laatst online: 07-10-2025
puntkomma scheiden ?

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
Op donderdag 18 juli 2002 15:41 schreef pkouwer het volgende:
puntkomma scheiden ?
nope,
dan word er uberhaubt geen cc meer gestuurd,

wat mischien logisch is, is dat de na de comma bij piet, dat dan alles daarna als 5e argument wordt gezien.

dus wellicht dat de comma escapen helpt?

piet@domain2.com\,arie@domain.com

maar dat is ook raar,
op php.net staat:
Multiple recipients can be specified by putting a comma between each address in to.
hoe weet php dan bv in dit geval:
mail("bla@bli.com ,blo@blab.com", "my subject","my body");
dat het tweede to address niet de subject is maar een 2e to adress?

hmmm,
dit werkt dus ook niet:

$cc="Cc: bla@bli.com ,blo@blab.com\r\n";
mail("bla@bli.com ,blo@blab.com", "hello","bodyblabla","$cc");

weer maar 1 cc'tje :(

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
oops

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
tjemig, wat zit ik te klooien met die edit/quote buttons,
sorry 'bout that

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 19-08 14:53
Op donderdag 18 juli 2002 16:12 schreef GiLuX het volgende:
hoe weet php dan bv in dit geval:
mail("bla@bli.com ,blo@blab.com", "my subject","my body");
dat het tweede to address niet de subject is maar een 2e to adress?
Aangezien de komma binnen de aanhalingstekens staat, zal PHP die komma niet herkennen als een scheidingsteken voor de verschillende argumenten.

Moet de spatie by the way niet ná de komma en niet er voor? Misschien dat PHP of sendmail een spatie als het eind van het commando beschouwt als er geen komma voor staat o.i.d.? :? (Dit weet ik niet helemaal zeker, maar probeer het maar eens uit, waarschijnlijk maakt het niet veel uit)

Succes! :)

  • Rashann
  • Registratie: Maart 2000
  • Laatst online: 24-08 07:20

Rashann

Zoek de hond...

Ik vermoed dat het eerder met de mailserver dan met PHP te maken heeft, ik gebruik namelijk onderstaand script, en dat werkt perfect, en volgens mij is de uitkomst hetzelfde...
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
$i = 0;
$to = "";
$sql = "SELECT emailadres FROM dbnaam";
$result = mysql_query($sql) or die("mysql_error());
while($row = mysql_fetch_row($result))
{
  $to .= $row[0];
  if($i < mysql_num_rows($result))
    $to .= ", ";
    $i++;
}
$headers = "From: Naam Bedrijf <email@bedrijf.nl>\r\n";
$headers .= "Bcc: $to\r\n";

Controleer anders een via een echo of de headers inderdaad goed zijn?

If nothing is written below, I was the last to reply...


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
Op donderdag 18 juli 2002 16:19 schreef elnino het volgende:

[..]

Aangezien de komma binnen de aanhalingstekens staat, zal PHP die komma niet herkennen als een scheidingsteken voor de verschillende argumenten.

Moet de spatie by the way niet ná de komma en niet er voor? Misschien dat PHP of sendmail een spatie als het eind van het commando beschouwt als er geen komma voor staat o.i.d.? :? (Dit weet ik niet helemaal zeker, maar probeer het maar eens uit, waarschijnlijk maakt het niet veel uit)

Succes! :)
van die spatie, dat klopt, was typ foutje,

maar dit werkt dus ook niet:
code:
1
2
$cc="Cc: bla@bli.com ,blo@blab.com\r\n";
mail("bla@bli.com ,blo@blab.com", "hello","bodyblabla","$cc");

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
Op donderdag 18 juli 2002 16:28 schreef RainManX het volgende:
....
Controleer anders een via een echo of de headers inderdaad goed zijn?
i'm not sure wat je hiermee precies bedoeld

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • Rashann
  • Registratie: Maart 2000
  • Laatst online: 24-08 07:20

Rashann

Zoek de hond...

Op donderdag 18 juli 2002 16:32 schreef GiLuX het volgende:

[..]

i'm not sure wat je hiermee precies bedoeld
code:
1
2
3
4
5
6
7
8
if($this->cc_address != ""){
  $cc = str_replace(" ","",$this->cc_address);
  $cc = str_replace(",",", ",$cc);
  $headers .= "Cc: " . $cc . "\r\n";
  }
echo $headers; /*<--- Deze regel toevoegen om te kijken
                of bovenstaande code goed word 
                uitgevoerd!  */

If nothing is written below, I was the last to reply...


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
Op donderdag 18 juli 2002 16:34 schreef RainManX het volgende:

[..]
code:
1
2
3
4
5
6
7
8
if($this->cc_address != ""){
  $cc = str_replace(" ","",$this->cc_address);
  $cc = str_replace(",",", ",$cc);
  $headers .= "Cc: " . $cc . "\r\n";
  }
echo $headers; /*<--- Deze regel toevoegen om te kijken
                of bovenstaande code goed word 
                uitgevoerd!  */
ah, dat dacht ik al,
tja, dat ziet er uit zoals verwacht,
ik kan me niet voorstellen wat daar anders uit zou moeten komen,
maar idd, nooit ergens van uitgaan.
dat scheelt soms een boel uitzoek tijd ;)

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • Rashann
  • Registratie: Maart 2000
  • Laatst online: 24-08 07:20

Rashann

Zoek de hond...

Op donderdag 18 juli 2002 16:37 schreef GiLuX het volgende:

[..]

ah, dat dacht ik al,
tja, dat ziet er uit zoals verwacht,
ik kan me niet voorstellen wat daar anders uit zou moeten komen,
maar idd, nooit ergens van uitgaan.
dat scheelt soms een boel uitzoek tijd ;)
Inderdaad :) Maar als het er dus inderdaad zo uitziet als het hoort ("From: sender@bedrijf.com\r\nCc: naam1@bedrijf1.com, naam2@bedrijf1.com, naam2@bedrijf3.com\r\n") dan denk ik toch dat het iets te maken heeft met je mailserver...

If nothing is written below, I was the last to reply...


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
Op donderdag 18 juli 2002 16:41 schreef RainManX het volgende:

[..]

Inderdaad :) Maar als het er dus inderdaad zo uitziet als het hoort ("From: sender@bedrijf.com\r\nCc: naam1@bedrijf1.com, naam2@bedrijf1.com, naam2@bedrijf3.com\r\n") dan denk ik toch dat het iets te maken heeft met je mailserver...
nou moe,
ik heb een standaard sendmail servertje dat al jaren braaf zijn best doet.

geen idee waar ik hem moet schoppen om dit aan de gang te krijgen.

ideeen?

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
Op donderdag 18 juli 2002 16:41 schreef RainManX het volgende:

[..]

Inderdaad :) Maar als het er dus inderdaad zo uitziet als het hoort ("From: sender@bedrijf.com\r\nCc: naam1@bedrijf1.com, naam2@bedrijf1.com, naam2@bedrijf3.com\r\n") dan denk ik toch dat het iets te maken heeft met je mailserver...
ik loog tegen je,
het viel me oppeens op dat er nog een spatie achter het laatste adres stond (geen idee waar die vandaan komt trouwens),
dus denk ik doe ff dit:
$headers=trim($headers);

krijg ik dit:
"From: me@somewhere.com Cc: arie@xs4all.nl, piet@hotmail.com"FATAL: emalloc(): Unable to allocate -10787281 bytes

how'boutthat?

(btw, wat een lekkere tieten heb jij zeg)

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • Rashann
  • Registratie: Maart 2000
  • Laatst online: 24-08 07:20

Rashann

Zoek de hond...

Op donderdag 18 juli 2002 17:22 schreef GiLuX het volgende:

[..]

ik loog tegen je,
het viel me oppeens op dat er nog een spatie achter het laatste adres stond (geen idee waar die vandaan komt trouwens),
dus denk ik doe ff dit:
$headers=trim($headers);

krijg ik dit:
"From: me@somewhere.com Cc: arie@xs4all.nl, piet@hotmail.com"FATAL: emalloc(): Unable to allocate -10787281 bytes

how'boutthat?

(btw, wat een lekkere tieten heb jij zeg)
offtopic: *proest* LOL! :D

Helaas zou ik zo niet weten wat die foutmelding betekent... dat zul je aan iemand anders moeten vragen, of even moeten opzoeken... [search=emalloc(): Unable to allocate]

If nothing is written below, I was the last to reply...


  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
het rare is dat die spatie er niet afteslopen is met str_replace dus ik moet wel trim gebruiken maarja, dan gaatie dus memory fouten geven.

wieuuurd

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • elnino
  • Registratie: Augustus 2001
  • Laatst online: 19-08 14:53
Op donderdag 18 juli 2002 17:22 schreef GiLuX het volgende:
FATAL: emalloc(): Unable to allocate -10787281 bytes
Ik denk dat dit een fout van PHP of de mailserver is, -10787281 bytes kun je namelijk niet toegewezen krijgen, omdat een aantal bytes alleen maar positief kan zijn. Maar geef eens wat meer info:

1. Welke mailserver? (sendmail of gebruik je smtp - ingesteld in php.ini)
2. Welke versie van PHP?
3. Welk OS?
4. Welke webserver?

En een ding weet ik zelf niet zeker: volgens mij moet je na één regel van de mailheader geen \r\n te doen (ik weet het niet zeker, zoek het anders maar even op) en volgens mij is het scheidingsteken tussen een regel niet \r\n maar \n (weet ik ook niet 100%, maar het zou kunnen).

Succes! :)

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
[quote]Op donderdag 18 juli 2002 19:59 schreef elnino het volgende:

[..]

quote]


ik had em inmiddels op bugs.php.net gepost en daar hij is alweer geclosed met de mededeling dat het een bekende bug was die net in de laatste cvs release is gefixed :)

downloading...

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who

Pagina: 1