Servizio ODMR / ATRN: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
Line 272: Line 272:
fetchmail: 6.2.5 querying fire.qdatainformatica.com (protocol ODMR) at Mon 23 Ma                                  y 2005 11:53:50 AM CEST: poll completed
fetchmail: 6.2.5 querying fire.qdatainformatica.com (protocol ODMR) at Mon 23 Ma                                  y 2005 11:53:50 AM CEST: poll completed
fetchmail: normal termination, status 0
fetchmail: normal termination, status 0
 
</pre>


== Creazione file configurazione fetchmailrc ==
== Creazione file configurazione fetchmailrc ==


<pre>
cat > /etc/fetchmailrc <<EOFile
cat > /etc/fetchmailrc <<EOFile
set daemon 600
set daemon 600
Line 283: Line 284:
         smtphost 127.0.0.1
         smtphost 127.0.0.1
EOFile
EOFile
 
</pre>


== Debug di fetchmail ==
== Debug di fetchmail ==
Line 323: Line 324:
fetchmail: sleeping at Mon 23 May 2005 12:04:37 PM CEST
fetchmail: sleeping at Mon 23 May 2005 12:04:37 PM CEST
</pre>
</pre>


== Abilitazione fetchmail ogni "set daemon  secondi ==
== Abilitazione fetchmail ogni "set daemon  secondi ==

Revision as of 11:53, 23 May 2005

SERVER:

Creazione database

mysql -p <<EOFile
drop database odmr;
create database odmr;
use odmr;

CREATE TABLE acct (
  user varchar(30) NOT NULL default '',
  date int(10) unsigned NOT NULL default '0',
  b_in int(10) unsigned NOT NULL default '0',
  b_out int(10) unsigned NOT NULL default '0',
  PRIMARY KEY  (user,date)
) TYPE=MyISAM;

CREATE TABLE domain (
  domain varchar(64) NOT NULL default '',
  user varchar(30) NOT NULL default '',
  PRIMARY KEY  (domain),
  KEY user (user)
) TYPE=MyISAM;

INSERT INTO domain VALUES ('marzottospa.com', 'marzottospa.com');

CREATE TABLE user (
  user varchar(30) NOT NULL default '',
  pass varchar(15) NOT NULL default '',
  PRIMARY KEY  (user)
) TYPE=MyISAM;

INSERT INTO user VALUES ('marzottospa.com', 'ottozram');
EOFile


Installazione Demone odmrd

    
cd /files/src && \
wget http://plonk.de/sw/odmr/odmrd09rc6.tar.gz && \
mkdir odmrd09rc6 && \
cd odmrd09rc6 && \
tar xvzf ../odmrd09rc6.tar.gz && \
cp odmrd-09rc6.pl /root/bin/odmrd && \
chmod 755 /root/bin/odmrd \
cp odmrd.conf /etc && \
wget http://plonk.de/sw/odmr/odmrspool.pl && \
cp odmrspool.pl /root/bin && \
chmod 755 /root/bin/odmrspool.pl && \
cd .. && \
rm -rf odmr* && \
adduser --system odmr && \
addgroup --system odmr && \
echo SETUP DONE !


Attivazione demone in inetd

vi /etc/inetd.conf:
...
odmr      stream  tcp     nowait  odmr    /root/bin/odmrd  odmrd
...

Definizione servizio odmr in services

vi /etc/services:
...
odmr            366/tcp                         # On Demand Mail Relay Protocol
...


Modifica configurazione demone odmrd

vi /etc/odmrd.conf
...
debug 1
mysql_user root
# nome utente mysql per accesso al database odmr
mysql_pass thepass
# password utente mysql
standalone 0
...


Creazione directory di spool odmr

mkdir -p /var/spool/odmr && \
chown odmr:odmr /var/spool/odmr 


Installazione librerie Perl necessarie

apt-get install libdigest-hmac-perl


Riavvio inetd e verifica ascolto demone:

/etc/init.d/inetd restart
netstat -anp | grep 366
tcp        0      0 0.0.0.0:366             0.0.0.0:*               LISTEN      13635/inetd


Verifica risposta demone odmr

telnet localhost 366
Trying 127.0.0.1...
Connected to qda.
Escape character is '^]'.
220 qda odmrd v0.9rc6 ODMR service ready
quit
221 have a nice day
Connection closed by foreign host.


Verifica autenticazione con fetchmail

apt-get install fetchmail
fetchmail --proto odmr --fetchdomains marzottospa.com --verbose --username marzottospa.com localhost
Enter password for marzottospa.com@localhost:

fetchmail: 5.9.11 querying localhost (protocol ODMR) at Mon Apr  4 16:42:28 2005: poll started
fetchmail: SMTP< 220 qda odmrd v0.9rc6 ODMR service ready
fetchmail: SMTP> EHLO localhost
fetchmail: SMTP< 250-qda Hello qda [127.0.0.1:54143]
fetchmail: SMTP< 250-AUTH CRAM-MD5
fetchmail: SMTP< 250 ATRN
fetchmail: ODMR> AUTH CRAM-MD5
fetchmail: ODMR< 334 PDE2NzkuNjc3Mjk2Njk4MzMuNTQ1MC4xMTEyNjI1NzQ4QHFkYT4=
fetchmail: ODMR> bWFyem90dG9zcGEuY29tIDJiNjhlMTY2YmFiZjE1Y2FhZTA1ZTVmODAyOWQ5NjU2
fetchmail: SMTP< 235 authenticated marzottospa.com
fetchmail: ODMR> ATRN marzottospa.com
fetchmail: ODMR< 453 no mail waiting
fetchmail: You have no mail.
fetchmail: ODMR> QUIT
fetchmail: SMTP< 221 have a nice day
fetchmail: 5.9.11 querying localhost (protocol ODMR) at Mon Apr  4 16:42:28 2005: poll completed
fetchmail: normal termination, status 0


Abilitazione trasporto odmr in Postfix

vi /etc/postfix/master.cf
...
odmr     unix  -       n       n       -       -       pipe
       flags=h. user=odmr:odmr eol=\r\n argv=/root/bin/odmrspool.pl -f ${sender} -t ${nexthop}  ${recipient}
...


Definizione domini da gestire in odmr in postfix

vi /etc/postfix/transport
...
marzottospa.com         odmr:
...

ATTENZIONE: BISOGNA CHE CI SIA UN UTENTE CON DOMINIO LEMAN.IT INSERITO NEL DATABASE POSTFIX, CHE NON ABBIA I FLAG EMAIL E ALIAS ATTIVATI, E CHE ABBIA ATTIVATO IL FLAG DI RELAY

Compilazione transport map

postmap /etc/postfix/transport
/etc/init.d/postfix restart


Provare mandare una email di prova a localhost:

 telnet localhost 25
Trying 127.0.0.1...
Connected to qda.
Escape character is '^]'.
220 fire.qdatainformatica.com ESMTP Postfix (Debian/GNU)
helo p
250 fire.qdatainformatica.com
mail from: gabriele@rvmgroup.it
250 Ok
rcpt to: ennio.lore@leman.it
250 Ok
data
354 End data with <CR><LF>.<CR><LF>
subject: test 1123

test1123
.
250 Ok: queued as C552B104442
quit
221 Bye
Connection closed by foreign host.
tail /var/log/mail.log | grep odmr
May 23 11:23:33 fire postfix/pipe[14085]: ED82E105013: to=<ennio.lore@leman.it>, relay=odmr, delay=3, status=sent (leman.it)


Verificare che ci sia la mail in spool

ls /var/spool/odmr/leman.it/
total 12
drwx------    2 odmr     odmr         4096 May 23 11:23 .
drwxr-xr-x    4 odmr     odmr         4096 May 23 11:23 ..
-rw-------    1 odmr     odmr          936 May 23 11:23 msg.1116840213.14086.5600


CLIENT

Installare fetchmail

apt-get install fetchmail

Da server destinazione prendere posta:

fetchmail --proto odmr --fetchdomains leman.it  --verbose --username leman.it fire.qdatainformatica.com
Enter password for leman.it@fire.qdatainformatica.com:

fetchmail: 6.2.5 querying fire.qdatainformatica.com (protocol ODMR) at Mon 23 Ma                                   y 2005 11:53:48 AM CEST: poll started
fetchmail: SMTP< 220 fire.qdatainformatica.com odmrd v0.9rc6 ODMR service ready
fetchmail: SMTP> EHLO localhost
fetchmail: SMTP< 250-fire.qdatainformatica.com Hello ppp-191-17.24-151.libero.it                                    [151.24.17.191:10200]
fetchmail: SMTP< 250-AUTH CRAM-MD5
fetchmail: SMTP< 250 ATRN
fetchmail: ODMR> AUTH CRAM-MD5
fetchmail: ODMR< 334 PDU3NTIuMTYzNjQwMDgyMTIuMTQzODUuMTExNjg0MjAyNEBmaXJlLnFkYXR                                   haW5mb3JtYXRpY2EuY29tPg==
fetchmail: ODMR> bGVtYW4uaXQgOTE5M2M5YjM1ZjgxOGQ5MzBlNjVkMzFhOTJlYzFkMzg=
fetchmail: SMTP< 235 authenticated leman.it
fetchmail: ODMR> ATRN leman.it
fetchmail: ODMR< 250 ok, turnaround now
fetchmail: Turnaround now...
fetchmail: ODMR> 220 fire.leman.priv ESMTP Postfix (Debian/GNU)
fetchmail: ODMR< EHLO fire.qdatainformatica.com
fetchmail: ODMR> 250-fire.leman.priv
fetchmail: ODMR> 250-PIPELINING
fetchmail: ODMR> 250-SIZE 10240000
fetchmail: ODMR> 250-VRFY
fetchmail: ODMR> 250-ETRN
fetchmail: ODMR> 250-AUTH NTLM LOGIN PLAIN DIGEST-MD5 CRAM-MD5
fetchmail: ODMR> 250-AUTH=NTLM LOGIN PLAIN DIGEST-MD5 CRAM-MD5
fetchmail: ODMR> 250 8BITMIME
fetchmail: ODMR< MAIL FROM:<gabriele@rvmgroup.it> SIZE=936
fetchmail: ODMR> 250 Ok
fetchmail: ODMR< RCPT TO: <ennio.lore@leman.it>
fetchmail: ODMR> 250 Ok
fetchmail: ODMR< DATA
fetchmail: ODMR> 354 End data with <CR><LF>.<CR><LF>
fetchmail: receiving message data
fetchmail: ODMR> 250 Ok: queued as 2EF8F6401B7
fetchmail: ODMR< RSET
fetchmail: ODMR> 250 Ok
fetchmail: ODMR< QUIT
fetchmail: ODMR> 221 Bye
fetchmail: Polling fire.qdatainformatica.com
fetchmail: 6.2.5 querying fire.qdatainformatica.com (protocol ODMR) at Mon 23 Ma                                   y 2005 11:53:50 AM CEST: poll completed
fetchmail: normal termination, status 0

Creazione file configurazione fetchmailrc

cat > /etc/fetchmailrc <<EOFile
set daemon 600
poll fire.qdatainformatica.com with protocol odmr
        user leman.it with pass namel
        fetchdomains leman.it
        smtphost 127.0.0.1
EOFile

Debug di fetchmail

/etc/init.d/fetchmail debug-run
/etc/init.d/fetchmail: Initiating debug run of system-wide fetchmail service...
/etc/init.d/fetchmail: script will be run in debug mode, all output to forced to
/etc/init.d/fetchmail: stdout. This is not enough to debug failures that only
/etc/init.d/fetchmail: happen in daemon mode.
/etc/init.d/fetchmail: You might want to direct output to a file, and tail -f it.
/etc/init.d/fetchmail: Stopping the service...
Stopping mail retrieval agent: fetchmail.
/etc/init.d/fetchmail: exit status of service stop was: 0
/etc/init.d/fetchmail: RUNUSER is fetchmail
/etc/init.d/fetchmail: OPTIONS would be -f /etc/fetchmailrc --syslog -i /var/mail/.fetchmail-UIDL-cache
/etc/init.d/fetchmail: Starting service in nodetach mode, hit ^C (SIGINT/intr) to finish run...
fetchmail: starting fetchmail 6.2.5 daemon
fetchmail: 6.2.5 querying fire.qdatainformatica.com (protocol ODMR) at Mon 23 May 2005 12:04:36 PM CEST: poll started
fetchmail: SMTP< 220 fire.qdatainformatica.com odmrd v0.9rc6 ODMR service ready
fetchmail: selecting or re-polling default folder
fetchmail: SMTP> EHLO fire.leman.priv
fetchmail: SMTP< 250-fire.qdatainformatica.com Hello ppp-191-17.24-151.libero.it [151.24.17.191:10207]
fetchmail: SMTP< 250-AUTH CRAM-MD5
fetchmail: SMTP< 250 ATRN
fetchmail: ODMR> AUTH CRAM-MD5
fetchmail: ODMR< 334 PDgwNjcuMTI3NjU5ODU3NTEuMTQ0OTAuMTExNjg0MjY3MkBmaXJlLnFkYXRhaW5mb3JtYXRpY2EuY29tPg==
fetchmail: decoded as <8067.12765985751.14490.1116842672@fire.qdatainformatica.com>
fetchmail: ODMR> bGVtYW4uaXQgOWIyNjE2MDg5NGE5OTJiOTA2MDAwMzQxMGRjODFiNTA=
fetchmail: SMTP< 235 authenticated leman.it
fetchmail: ODMR> ATRN leman.it
fetchmail: ODMR< 453 no mail waiting
fetchmail: You have no mail.
fetchmail: ODMR> QUIT
fetchmail: SMTP< 221 have a nice day
fetchmail: 6.2.5 querying fire.qdatainformatica.com (protocol ODMR) at Mon 23 May 2005 12:04:37 PM CEST: poll completed
fetchmail: not swapping UID lists, no UIDs seen this query
fetchmail: Deleting fetchids file.
fetchmail: sleeping at Mon 23 May 2005 12:04:37 PM CEST

Abilitazione fetchmail ogni "set daemon secondi

/etc/init.d/fetchmail start


SERVER: se ci sono email in coda per precedente relay, flushare la coda e verranno messe in odmr:

postqueue -f postqueue -p

dopo un pò è ok:

postqueue -p