Ik heb een server waarop draait:
- Windows Server 2003
- Apache2 met PHP & MYSQL
Daar draait een database met een tabel met 2500 namen en emailadressen. Deze worden (incl. email-subject, email-body enz) per 500 in een array $toArray gestopt. Daarna gaan deze door de onderstaande functie. Er worden dus 500 mailtjes per keer verzonden.
Met verzenden van de mails doe ik zo omdat de standaard php mail() over zn nek ging bij 10000 mails.
Ik heb het getest met 2500 ontvangers met hetzelfde emailadres en dat gaat perfect. Wanneer ik 2500 verschillende emailadressen heb gaat het fout en krijg de onderstaande foutmelding:
fputs(): send of 26 bytes failed with errno=0() An established connection was aborted by the software in your host machine.
- Kan het zijn dat Exchange een maximum stelt aan het aantal verschillende domeinen wat in de que mag?
- Als het niet Exchange is wat zou het anders kunnen zijn?
Ps. Ik kan niet met BCC werken omdat elke email met een persoonlijke aanhef begint!
- Windows Server 2003
- Apache2 met PHP & MYSQL
Daar draait een database met een tabel met 2500 namen en emailadressen. Deze worden (incl. email-subject, email-body enz) per 500 in een array $toArray gestopt. Daarna gaan deze door de onderstaande functie. Er worden dus 500 mailtjes per keer verzonden.
Met verzenden van de mails doe ik zo omdat de standaard php mail() over zn nek ging bij 10000 mails.
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
| $connect = fsockopen (ini_get("SMTP"), ini_get("smtp_port"), $errno, $errstr, 30) or die("Could not talk to the sendmail server!"); $rcv = fgets($connect, 1024); fputs($connect, "HELO {$_SERVER['SERVER_NAME']}\r\n"); $rcv = fgets($connect, 1024); $Cnt_t = 0; $aantal = count($toArray); while ($Cnt_t < $aantal) { fputs($connect, "MAIL FROM:".$mail_from_email."\r\n"); $rcv = fgets($connect, 1024); fputs($connect, "RCPT TO:".$toArray[$Cnt_t][0]."\r\n"); $rcv = fgets($connect, 1024); fputs($connect, "DATA\r\n"); $rcv = fgets($connect, 1024); fputs($connect, "Subject: ".$toArray[$Cnt_t][1]."\r\n"); fputs($connect, "From: ".$mail_from_name." <".$mail_from_email.">\r\n"); fputs($connect, "To: ".$toArray[$Cnt_t][0]." <".$toArray[$Cnt_t][0].">\r\n"); fputs($connect, "X-Sender: <".$mail_from_email.">\r\n"); fputs($connect, "Return-Path: <".$mail_reply.">\r\n"); fputs($connect, "Reply-To: ".$mail_reply."\r\n"); fputs($connect, "MIME-Version: 1.0\r\n"); fputs($connect, "Errors-To: <".$mail_reply.">\r\n"); fputs($connect, "X-Mailer: PHP / ".phpversion()."\r\n"); fputs($connect, "X-Priority: 0\r\n"); fputs($connect, "Content-Type: text/html; charset=iso-8859-1\r\n"); fputs($connect, "\r\n"); fputs($connect, stripslashes($toArray[$Cnt_t][2])." \r\n"); fputs($connect, ".\r\n"); $rcv = fgets($connect, 1024); fputs($connect, "RSET\r\n"); $rcv = fgets($connect, 1024); $Cnt_t++; } fputs ($connect, "QUIT\r\n"); $rcv = fgets ($connect, 1024); fclose($connect); |
Ik heb het getest met 2500 ontvangers met hetzelfde emailadres en dat gaat perfect. Wanneer ik 2500 verschillende emailadressen heb gaat het fout en krijg de onderstaande foutmelding:
fputs(): send of 26 bytes failed with errno=0() An established connection was aborted by the software in your host machine.
- Kan het zijn dat Exchange een maximum stelt aan het aantal verschillende domeinen wat in de que mag?
- Als het niet Exchange is wat zou het anders kunnen zijn?
Ps. Ik kan niet met BCC werken omdat elke email met een persoonlijke aanhef begint!