Subject: The mailing list for listmasters using Sympa
List archive
- From: Steve Shipway <address@concealed>
- To: "address@concealed" <address@concealed>
- Subject: RE: [sympa-users] Testing mailmerge
- Date: Thu, 29 May 2014 02:51:42 +0000
| After searching through the code (v6.1.19), it turns out this is actually very easy to do. 
 One line change in Scenario.pm to allow test_it as a valid response along with do_it. 
 ## Check syntax of returned action unless ($action =~ /^(do_it|reject|request_auth|owner|editor|editorkey|listmaster|ham|spam|unsure|test_it)/) { 
 In sympa.pl, subroutine DoMessage, add test_it as well as do_it as distribution actions, 
 if (($action =~ /^(do_it|test_it)/) || ($main::daemon_usage == DAEMON_MESSAGE)) { 
 and pass test_mode=>1 to distribute_msg if $action="~/test_it/ 
 eval { $numsmtp =$list->distribute_msg('message'=> $message, 'apply_dkim_signature'=>$apply_dkim_signature, 'test_mode'=>(($action="~/test_it/)?1:0) )}; 
 In List.pm, check for the test_mode parameter, and if true, add the header X-Sympa-Receipient (yes that spelling error is supposed to be there) which should contain the email address from the From header. This needs to occur before the DMARC-munging and Anonymisation steps. 
 if($param{‘test_mode’}) { my $originalFromHeader = $hdr->get('From'); my @addresses = Mail::Address->parse($originalFromHeader); $hdr->add('X-Sympa-Test', 'YES') ; if(@addresses) { $hdr->add('X-Sympa-Receipient', $addresses[0]->address ); } else { $hdr->add('X-Sympa-Receipient', $self->{'name'}."-owner\@".$self->{'domain'} ); } } 
 And that is it. I’ve done it in our test environment, and set up a send scenario that has ‘test_it’ if the Subject contains ‘TEST’, and it works – the merged message is sent only back to the sender, not to the normal list recipients. 
 There may be a couple of other places (in the topic check, and in wwsympa’s online Send function) that it might be worth adding test_it as an equal result to do_it but I didn’t see any others. 
 I was expecting more work to be involved, but it seems the Sympa team have already set up an undocumented test feature with the X-Sympa-Receipient header to do this. However it is difficult to set custom headers when sending messages and so using a scenario that can be made to check for patterns in the subject line is more flexible. Having test_it as a distinct outcome seems to me to be better than using do_it with a modifier (‘do_it,test’) but that may be personal preference. I would think that using a modifier implies that the message will still be distributed to list members, so I used a separate outcome to emphasise the difference. 
 I can create a context diff for this if people are interested and do not have any other suggestions for its improvement. 
 Steve 
 Steve Shipway address@concealed 
 | 
Attachment:
smime.p7s
Description: S/MIME cryptographic signature
- 
            
            [sympa-users] Testing mailmerge,
            Steve Shipway, 05/28/2014
- RE: [sympa-users] Testing mailmerge, Steve Shipway, 05/29/2014
 
Archive powered by MHonArc 2.6.19+.
