Hello, I need to implement a one-way (announcement only) mailing list and I''m testing the water by piping messages to exim with a thousand or so email addresses in the Bcc header like so: cat <msg-file> | usr/sbin/exim4 -bm -t -f<envelope-from> -N -N implies -v and as a result I''m noticing lines like these amongst the other thousand or so lines of ''normal'' log output on stdout (domains hidden to protect the owners): 23024 T: remote_smtp for @ 23025 T: remote_smtp for @ 23026 T: remote_smtp for ozgeeyu@<hidden> 23027 T: remote_smtp for ozgeeyu@ 23028 T: remote_smtp for ubuckley@<hidden> 23029 T: remote_smtp for buketc@<hidden> 23030 T: remote_smtp for catherine@<hidden> 23031 T: remote_smtp for catherine@<hidden> 23032 T: remote_smtp for catherine@<hidden> 23033 T: remote_smtp for nezih@<hidden> 23034 T: remote_smtp for nil@<hidden> 23035 T: remote_smtp for nil@<hidden> 23036 T: remote_smtp for jeremy.thompson@<hidden> 23037 T: remote_smtp for jeremy.thompson@<hidden> 23038 T: remote_smtp for dean@<hidden> 23039 T: remote_smtp for dean@<hidden> 23040 T: remote_smtp for lcs2v07@<hidden> 23041 T: remote_smtp for lcs2v07@ 23042 T: remote_smtp for mdalayman@<hidden> 23043 T: remote_smtp for nyuzer@<hidden> 23044 T: remote_smtp for palomablanca@<hidden> 23045 T: remote_smtp for rsoble@<hidden> 23046 T: remote_smtp for rsoble@<hidden> 23047 T: remote_smtp for ella.zhernosek@<hidden> 23048 T: remote_smtp for guliyevvugar@<hidden> 23049 T: remote_smtp for guliyevvugar@<hidden> 23050 T: remote_smtp for zeyne@<hidden> 23051 T: remote_smtp for arendz.triple.a@<hidden> 23052 T: remote_smtp for mhochstedler@<hidden> 23053 T: remote_smtp for okanbolukbas@<hidden> 23054 T: remote_smtp for soberrocker@<hidden> 23055 T: remote_smtp for soberrocker@<hidden> 23056 T: remote_smtp for soberrocker@<hidden> 23057 T: remote_smtp for soberrocker@<hidden> 23058 T: remote_smtp for soberrocker@<hidden> 23059 T: remote_smtp for soberrocker@<hidden> 23060 T: remote_smtp for soberrocker@<hidden> 23065 T: remote_smtp for soberrocker@<hidden> 23066 T: remote_smtp for soberrocker@<hidden> 23067 T: remote_smtp for soberrocker@<hidden> Clearly these are process ids for remote_smtp transports so my first question is why are processes spawned for these addresses and not others? These lines appear in completely random places amongst the other lines, sometimes bunched up, sometimes spread out. My second question is why do processes 23024, 23035, 23027 and 23041 appear to be attempting to deliver to clearly broken email addresses, which I''m 100% sure didn''t come from the database looking like they do? Thirdly, any performance/best practice tips or advice on bulk mailing using exim would be very much appreciated. A happy New Year to all, Sebastian
Sebastian Tennant wrote:> Hello, > > I need to implement a one-way (announcement only) mailing list and I''m > testing the water by piping messages to exim with a thousand or so email> Thirdly, any performance/best practice tips or advice on bulk mailing > using exim would be very much appreciated.Belated response, but I am pretty sure you''d make things much easier if you''d use mailman. It''s easy to configure and ties in nicely with exim. I used the following mailman configuration, it might even be added by default after you apt-get mailman. mailman_router: driver = accept require_files = MAILMAN_HOME/lists/$local_part/config.pck local_part_suffix_optional local_part_suffix = -bounces : -bounces+* : -confirm+* : -join : -leave : -owner : -request : -admin transport = mailman_transport mailman_transport: driver = pipe command = MAILMAN_WRAP ''${if def:local_part_suffix {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} {post}}'' $local_part current_directory = MAILMAN_HOME home_directory = MAILMAN_HOME user = MAILMAN_USER group = MAILMAN_GROUP If you use an alias file you would add entries such as: mailinglistname: "|/var/lib/mailman/mail/mailman post mailinglistname" Greetings, Jeroen
Quoth Jeroen <jeroen at mompl.net>:>> Thirdly, any performance/best practice tips or advice on bulk mailing >> using exim would be very much appreciated. > > Belated response, but I am pretty sure you''d make things much easier if > you''d use mailman. It''s easy to configure and ties in nicely with exim. > > I used the following mailman configuration, it might even be added by > default after you apt-get mailman. > > mailman_router: > driver = accept > require_files = MAILMAN_HOME/lists/$local_part/config.pck > local_part_suffix_optional > local_part_suffix = -bounces : -bounces+* : -confirm+* : > -join : -leave : -owner : -request : -admin > transport = mailman_transport > > mailman_transport: > driver = pipe > command = MAILMAN_WRAP ''${if def:local_part_suffix > {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} {post}}'' $local_part > current_directory = MAILMAN_HOME > home_directory = MAILMAN_HOME > user = MAILMAN_USER > group = MAILMAN_GROUP > > If you use an alias file you would add entries such as: > mailinglistname: "|/var/lib/mailman/mail/mailman post mailinglistname"Many thanks for the feedback Jeroen, although using mailman is overkill in this case (and it doesn''t tie in with the existing subscription control interface). My question is more about SMTP etiquette I suppose. Is it OK to send to ~ 2,500 addresses in one hit, or should I send in batches of 500 at a time? I don''t want my server to be blacklisted for flooding the network or anything like that (although I doubt this will happen given that busy servers servers spew out millions of deliveries every minute). Regards, Sebastian