Difference between revisions of "Mail Systems"

From Alessandro's Wiki
Line 15: Line 15:
*Delivery method for local mail: mbox format in /var/mail/
*Delivery method for local mail: mbox format in /var/mail/
*Split configuration into small files? No
*Split configuration into small files? No
=== commands ===
=== commands ===
* see the queue:
* see the queue:
  mailq
  mailq
** or
** or
  exim -bp
  exim -bp
the output shows the message queue giving useful information to work with it:
the output shows the message queue giving useful information to work with it:
<syntaxhighlight lang="teraterm" >
<syntaxhighlight lang="teraterm" >
Line 49: Line 45:
** flush queue forcing frozen/non-frozen messages to be sent
** flush queue forcing frozen/non-frozen messages to be sent
  exim -qff
  exim -qff
=== configuration ===
* this options will make exim act as a secondary MX of anyone listing your server in the DNS :
domainlist relay_to_domains = @mx_secondary


== postfix ==
== postfix ==

Revision as of 08:07, 3 June 2012


exim

  • configuring first install of exim in Debian/Ubuntu
dpkg-reconfigure exim4-config
  • General type of mail configuration: internet site; mail is sent and received directly using SMTP
  • System mail name: <the FQDN of the host>
  • IP-addresses to listen on for incoming SMTP connections: 127.0.0.1
  • Other destinations for which mail is accepted: <blank>
  • Domains to relay mail for: <blank>
  • Machines to relay mail for: <blank>
  • Keep number of DNS-queries minimal (Dial-on-Demand)? No
  • Delivery method for local mail: mbox format in /var/mail/
  • Split configuration into small files? No

commands

  • see the queue:
mailq
    • or
exim -bp

the output shows the message queue giving useful information to work with it:

 root:~# mailq
 24h   379 1QC8cA-0001iy-B3 <ciaotest@server.company>
           hellobye@server.company.nl
*; 1QC8cA-0001iy-B3: message ID (corresponds to a filename)
*; 24h : time msg spent in the queue
*; 379:  the size in bytes.
  • find a queued message:
find /var/spool/ -name "1QC8cA-0001iy-B3*"
  • to un-queue messages, I delete the files found by the find command (to rude maybe?)... it works
  • flush the queue:
runq
  • or
exim -q
    • flush queue forcing frozen messages to be sent
exim -qf 
    • flush queue forcing frozen/non-frozen messages to be sent
exim -qff

configuration

  • this options will make exim act as a secondary MX of anyone listing your server in the DNS :
domainlist relay_to_domains = @mx_secondary

postfix

  • enabling SMTP relay:
Restriction list name 	Status 	Effect of REJECT or DEFER result
smtpd_client_restrictions 	Optional 	Reject all client commands
smtpd_helo_restrictions 	Optional 	Reject HELO/EHLO information
smtpd_sender_restrictions 	Optional 	Reject MAIL FROM information
smtpd_recipient_restrictions 	Required 	Reject RCPT TO information
smtpd_data_restrictions 	Optional 	Reject DATA command
smtpd_end_of_data_restrictions 	Optional 	Reject END-OF-DATA command
smtpd_etrn_restrictions 	Optional 	Reject ETRN command

show queue

mailq 

flush the mail queue

postfix flush

remove all the mail from the queue (delete it)

postsuper -d ALL


find email address in queue

(postsuper manual)

for a in `mailq |  grep -v '^ *(' | awk  'BEGIN { RS = "" } { if ($8 == "service@visaitalia.com" && $9 == "") print $1 } ' | tr -d '*!'`; do echo "---$a";ls -l ./*/$a; done;

re-process the queue

postqueue -f
  • or...
pfqueue

canonical rewrite

vi /etc/postfix/canonical

femmes:~# postmap /etc/postfix/canonical

  • unix user e-mail
domain-name      name@domain.com


  • generating a report and sending it:
/usr/sbin/sendmail -v <an e-mail>

mailman

  • show all lists
/var/lib/mailman/bin/list_lists
  • show pending messages
/var/lib/mailman/bin/show_qfiles /var/lib/mailman/qfiles/shunt/*.pck
  • re-queque shunted messages
/var/lib/mailman/bin/unshunt
# on another terminal
tail -f /var/log/mail.log
  • find the parent list of an address:
 for lista in `/usr/lib/mailman/bin/list_lists -b`; do  /usr/lib/mailman/bin/list_members $lista|grep <indirizzo> && echo $lista; done

virtual hosts

  • in the file:
/etc/mailman/mm_cfg.py