@@ -59,22 +59,8 @@ public function configure_mailman($status = 'insert') {
5959 }
6060 }
6161
62- $ config_dir = $ conf ['mailman ' ]['config_dir ' ].'/ ' ;
63- $ full_file_name = $ config_dir .'virtual_to_transport.sh ' ;
64-
65- //* Backup exiting virtual_to_transport.sh script
66- if (is_file ($ full_file_name )) {
67- copy ($ full_file_name , $ config_dir .'virtual_to_transport.sh~ ' );
68- }
69-
70- copy ('tpl/mailman-virtual_to_transport.sh ' ,$ full_file_name );
71- chgrp ($ full_file_name ,'mailman ' );
72- chmod ($ full_file_name ,0750 );
73-
7462 if (!is_file ('/var/lib/mailman/data/transport-mailman ' )) touch ('/var/lib/mailman/data/transport-mailman ' );
7563 exec ('/usr/sbin/postmap /var/lib/mailman/data/transport-mailman ' );
76-
77- exec ('/usr/lib/mailman/bin/genaliases 2>/dev/null ' );
7864
7965 $ virtual_domains = '' ;
8066 if ($ status == 'update ' )
@@ -101,6 +87,25 @@ public function configure_mailman($status = 'insert') {
10187 $ content = str_replace ('{virtual_domains} ' , $ virtual_domains , $ content );
10288
10389 wf ($ full_file_name , $ content );
90+
91+ //* Write virtual_to_transport.sh script
92+ $ config_dir = $ conf ['mailman ' ]['config_dir ' ].'/ ' ;
93+ $ full_file_name = $ config_dir .'virtual_to_transport.sh ' ;
94+
95+ //* Backup exiting virtual_to_transport.sh script
96+ if (is_file ($ full_file_name )) {
97+ copy ($ full_file_name , $ config_dir .'virtual_to_transport.sh~ ' );
98+ }
99+
100+ if (is_dir ('/etc/mailman ' )) {
101+ copy ('tpl/mailman-virtual_to_transport.sh ' ,$ full_file_name );
102+ chgrp ($ full_file_name ,'mailman ' );
103+ chmod ($ full_file_name ,0750 );
104+ }
105+
106+ //* Create aliasaes
107+ exec ('/usr/lib/mailman/bin/genaliases 2>/dev/null ' );
108+
104109 }
105110
106111 function configure_postfix ($ options = '' )
@@ -204,6 +209,16 @@ function configure_postfix($options = '')
204209 touch ($ config_dir .'/nested_header_checks ' );
205210 touch ($ config_dir .'/body_checks ' );
206211
212+ //* Create the mailman files
213+ if (!is_dir ('/var/lib/mailman/data ' )) exec ('mkdir -p /var/lib/mailman/data ' );
214+ //if(!is_file('/var/lib/mailman/data/aliases')) touch('/var/lib/mailman/data/aliases');
215+ if (is_file ('/var/lib/mailman/data/aliases ' )) unlink ('/var/lib/mailman/data/aliases ' );
216+ if (!is_link ('/var/lib/mailman/data/aliases ' )) symlink ('/etc/mailman/aliases ' ,'/var/lib/mailman/data/aliases ' );
217+ exec ('postalias /var/lib/mailman/data/aliases ' );
218+ if (!is_file ('/var/lib/mailman/data/virtual-mailman ' )) touch ('/var/lib/mailman/data/virtual-mailman ' );
219+ exec ('postmap /var/lib/mailman/data/virtual-mailman ' );
220+ if (!is_file ('/var/lib/mailman/data/transport-mailman ' )) touch ('/var/lib/mailman/data/transport-mailman ' );
221+ exec ('/usr/sbin/postmap /var/lib/mailman/data/transport-mailman ' );
207222
208223 //* Make a backup copy of the main.cf file
209224 copy ($ config_dir .'/main.cf ' , $ config_dir .'/main.cf~ ' );
0 commit comments