Toon posts:

Sendmail - Message header too long

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,
In een (perl) forum wordt naar een grote groep subscribers een mail gestuurd.
Dit ging eerst mail voor mail, maar dit duurde lang( tussen de 500 en 1000 mails ) dus nu alles in de bcc gezet.

Ik krijg nu de fout 'Message header too long' in de sendmail log, wel begrijpelijk dus.

Nu kan ik de mails wel per 20 of zo gaan versturen, maar kan dit ook anders?

En kan iemand mij vertellen, of vertellen waar meer info staat over hoeveel er nu precies in de header mag staan

Verwijderd

Ik denk dat het probleem is, dat je al die 500 of 1000 e-mail adressen in de header plaatst, dus in het send-to veld, cc, of bcc veld. Ik denk dat je elk mailtje apart moet versturen. Kan je anders de manier waarop je deze mails verzend en de totale header even posten? Dan kunnen we er meer mee..

[edit] Ik lees nu dat je ze eerst een voor een verstuurde.. Maar sendmail propt al die mailtjes toch gewoon in z'n queue en zorgt dat die queue leegkomt zonder dat je er nog wat aan hoeft te doen..? Misschien is je sendmail anders verkeerd geconfigged.. ? Succes.. [/edit]

Verwijderd

Topicstarter
Als ik bijvoorbeeld 1000 mails apart ga versturen, dan moet ik ook 1000 keer sendmail aanroepen, Dit duurt zo'n 2 min, ondertussen moet de gebruiker wachten totdat hij verder kan.
Dit is niet de bedoeling, dus dacht ik alle subscribers in 1 mail. Dan hoef ik nog maar 1 mail te versturen, en dat gaat veel sneller.
Alleen wordt dus de header te groot.

De code
code:
1
2
3
4
5
6
7
8
9
10
  open (MAIL, "|/usr/lib/sendmail -t") or return 0;
  
  print MAIL "Bcc: " . (join ",", @receivers) . "\n";
  print MAIL "From: $sender\n";
  print MAIL "Subject: $subject\n";
  print MAIL "\n";
  print MAIL "$message\n";
  print MAIL "$linktoforum\n";
  
  close (MAIL);

@recievers is dus een array met de adressen