qmail Digest 2 Aug 2000 10:00:01 -0000 Issue 1081

Topics (messages 45933 through 45989):

Qmail problem
        45933 by: FCP Wong
        45934 by: Sylwester S. Biernacki

Cannot send mail thru SMTP
        45935 by: markf.samsung.co.kr
        45936 by: markf.samsung.co.kr
        45939 by: Dave Sill
        45986 by: markf.samsung.co.kr

Re: [offtopic?] RE: Encryption (was: Open letter)
        45937 by: Dave Sill
        45943 by: Michael T. Babcock

Re: many processes open
        45938 by: Dave Sill

tcpserver delaying connections
        45940 by: Ben Beuchler
        45949 by: James Raftery
        45951 by: Ben Beuchler
        45958 by: James Raftery
        45959 by: Ben Beuchler

Rctp hosts....
        45941 by: Alexander Meis
        45944 by: Slider
        45945 by: Slider

Re: Duplicate Message-ID question
        45942 by: Dave Sill
        45954 by: Sten

Re: tai64n -- why?
        45946 by: Michael T. Babcock
        45947 by: Petr Novotny
        45950 by: Michael T. Babcock

Me retirem desta lista
        45948 by: monicab

Re: Arguments in favor of djbdns?
        45952 by: Ben Beuchler
        45953 by: Bennett Todd
        45956 by: Ben Beuchler

Qmail and MRTG
        45955 by: Cedric Fontaine
        45980 by: Russell Nelson

Re: How to requeue messages?
        45957 by: Scott Gifford

smtproutes
        45960 by: Jacob Scott
        45961 by: John White

Re: Blocking Spam, badmailfrom not working
        45962 by: Michael T. Babcock

Re: question ?
        45963 by: Robin S. Socha

Re: MUA HTML support (was: question)
        45964 by: Michael T. Babcock

Qmail and non-Linux clients
        45965 by: Subba Rao
        45966 by: Alexander Jernejcic

Header address info hiding
        45967 by: Subba Rao

Re: (OT) MUA HTML support
        45968 by: Ronny Haryanto

Re: qmail-pw2u error
        45969 by: Vincent Danen

updated load balancing qmail-qmqpc.c mods
        45970 by: Austad, Jay
        45973 by: JuanE
        45978 by: Austad, Jay
        45988 by: Frank D. Cringle

Mailing list performance Im setting a mailing list system that will require a VERY 
good performance. After search for a lot of options, Ive decided to use qmail because 
I think it is the most quick and configurable MTA. Im wondering what can I change to 
improve the performance of my mailing list, I already read the documentation and found 
a lot of thinks like the number of paralell proccess and other things. I really need a 
great performance in this mailing list, so I would like to know some tips and the best 
mailing list manager to use. I would like to know also some statistics of performance 
in mailing list using qmail.... Best Regards, Im setting a mailing list system that 
will require a VERY good performance. After search for a lot of options, Ive decided 
to use qmail because I think it is the most quick and configurable MTA. Im wondering 
what can I change to improve the performance of my mailing list, I already read the 
documentation and found a lot of thinks like the number of paralell proccess and other 
things. I really need a great performance in this mailing list, so I would like to 
know some Mailing list performance
        45971 by: Fernando Almeida

Copy and paste!!!
        45972 by: Fernando Almeida

smtproutes and From-Address
        45974 by: Moritz Jodeit
        45982 by: Robin S. Socha

RFC 2645 server and client that is compatible with qmail?
        45975 by: John Conover

send to group functionality ?
        45976 by: Barry Smoke
        45983 by: Robin S. Socha

ezmlm-send core dumped
        45977 by: Χ岸
        45979 by: J. Paul Reed

How do you add prog arguments using tcpserver
        45981 by: Martin Searancke

Re: Sort maildir and send smallest first
        45984 by: qmail.col7.metta.lk

再次问您有关qmail的问题
        45985 by: luo163-local

qmqp and fetchmail
        45987 by: Oliver Koch

SPAM BLOCKING
        45989 by: Slider

Administrivia:

To unsubscribe from the digest, e-mail:
        [EMAIL PROTECTED]

To subscribe to the digest, e-mail:
        [EMAIL PROTECTED]

To bug my human owner, e-mail:
        [EMAIL PROTECTED]

To post to the list, e-mail:
        [EMAIL PROTECTED]


----------------------------------------------------------------------


Hi guys,
 
I had just set up qmail for testing and I keep receiving this email send to the root user :
 
---------------------------------------
 
From: [EMAIL PROTECTED] (Cron Daemon)
To: [EMAIL PROTECTED]
Subject: Cron <root@hamer>    /sbin/rmmod -as
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/root>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=root>
 
rmmod: QM_MODULES: Function not implemented
 
rmmod: Function not implemented
rmmod: QM_MODULES: Function not implemented
----------------------------------------
 
I checked the root crontab and nothing was being run there... anybody have any idea what is this? Currently mails I send to the server are not successfully delivered either but this is another problem I guess and I just haven't had the time to debug that.
 
Thanks
Wong
 




FCP Wong wrote:

> Hi guys, I had just set up qmail for testing and I keep receiving this
> email send to the root user
> : --------------------------------------- From: [EMAIL PROTECTED]
> (Cron Daemon)
> To: [EMAIL PROTECTED]
> Subject: Cron <root@hamer>    /sbin/rmmod -as
> X-Cron-Env: <SHELL=/bin/sh>
> X-Cron-Env: <HOME=/root>
> X-Cron-Env: <PATH=/usr/bin:/bin>
> X-Cron-Env: <LOGNAME=root> rmmod: QM_MODULES: Function not
> implemented rmmod: Function not implemented
> rmmod: QM_MODULES: Function not
> implemented---------------------------------------- I checked the root
> crontab and nothing was being run there... anybody have any idea what
> is this? Currently mails I send to the server are not successfully
> delivered either but this is another problem I guess and I just
> haven't had the time to debug that. ThanksWong

yeah.... look at /etc/cron.* and /etc/crontab
you've got RedHat/Mandrake Linux right ?

greetZ
S.





Hi Guys,

I'm a qmail newbie and just installed qmail 1.03 in RED HAT 6.2. Followed installation 
instructions from Life w/ qmail.
Including all the packages like daemontools and ucspi. I think I followed it all, 
double checking on the scripts and
the directories to make, link files, ownerships, removing sendmail, aliases. By the 
way i'm using the ./Mailbox as my 
mailbox. After the installation I test it using the instructions given on 
TEST.deliver. It was successful cause I was able
to send to my account & to another user by checking their mailbox. Then I tried the 
test.receive using the smtp. 
I was able to follow the instructions given on the test.receive. But when I checked 
the mailbox, mail was not received,
instead there was a mailer-daemon message... 

>From MAILER-DAEMON Tue Aug  1 18:44:50 2000
Date: 01 Aug 2000 18:44:50 +0800
From: Mail System Internal Data <[EMAIL PROTECTED]>
Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
Message-ID: <[EMAIL PROTECTED]>
X-IMAP: 0965092586 0000000002
Status: RO
This text is part of the internal format of your mail folder, and is not
a real message.  It is created automatically by the mail system software.
If deleted, important folder data will be lost, and it will be re-created
with the data reset to initial values.

Then I checked the maillog it says:

supervise: fatal: unable to acquire log/supervise/lock: temporary failure

Well, I tried to double check againg all the installation instructions to make sure I 
didn't forget anything.
But still same errors occurred.
Anyway I would really appreciate if someone would help me with this.

thanks,

mark










Hi Guys,

I'm a qmail newbie and just installed qmail 1.03 in RED HAT 6.2. Followed installation 
instructions from Life w/ qmail.
Including all the packages like daemontools and ucspi. I think I followed it all, 
double checking on the scripts and
the directories to make, link files, ownerships, removing sendmail, aliases. By the 
way i'm using the ./Mailbox as my 
mailbox. After the installation I test it using the instructions given on 
TEST.deliver. It was successful cause I was able
to send to my account & to another user by checking their mailbox. Then I tried the 
test.receive using the smtp. 
I was able to follow the instructions given on the test.receive. But when I checked 
the mailbox, mail was not received,
instead there was a mailer-daemon message... 

>From MAILER-DAEMON Tue Aug  1 18:44:50 2000
Date: 01 Aug 2000 18:44:50 +0800
From: Mail System Internal Data <[EMAIL PROTECTED]>
Subject: DON'T DELETE THIS MESSAGE -- FOLDER INTERNAL DATA
Message-ID: <[EMAIL PROTECTED]>
X-IMAP: 0965092586 0000000002
Status: RO
This text is part of the internal format of your mail folder, and is not
a real message.  It is created automatically by the mail system software.
If deleted, important folder data will be lost, and it will be re-created
with the data reset to initial values.

Then I checked the maillog it says:

supervise: fatal: unable to acquire log/supervise/lock: temporary failure
supervise: fatal: unable to acquire qmail-send/supervise/lock: temporary failure
supervise: fatal: unable to acquire qmail-smtpd/supervise/lock: temporary failure

I checked if qmail daemons are running by ps command:

root     21084 21083  0 17:09 tty2     00:00:00 supervise qmail-send
root     21086 21083  0 17:09 tty2     00:00:00 supervise qmail-smtpd
qmails   21088 21084  0 17:09 tty2     00:00:00 qmail-send
qmaill   21089 21087  0 17:09 tty2     00:00:00 /usr/local/bin/multilog t
qmaild   21090 21086  0 17:09 tty2     00:00:00 /usr/local/bin/tcpserver -v -p -
qmaill   21091 21085  0 17:09 tty2     00:00:00 /usr/local/bin/multilog t
root     21096 21088  0 17:09 tty2     00:00:00 qmail-lspawn ./Mailbox
qmailr   21097 21088  0 17:09 tty2     00:00:00 qmail-rspawn
qmailq   21098 21088  0 17:09 tty2     00:00:00 qmail-clean
root     21798   657  0 19:37 tty2     00:00:00 grep qmail

I think it's running ok.
Well, I tried to double check againg all the installation instructions to make sure I 
didn't forget anything.
But still same errors occurred.
Anyway I would really appreciate if someone would help me with this.

thanks,

mark











[EMAIL PROTECTED] wrote:

>Then I tried the test.receive using the
>smtp.  I was able to follow the instructions given on the
>test.receive. But when I checked the mailbox, mail was not received,
>instead there was a mailer-daemon message...

No, that's not really a mailer daemon message. As the Subject says,
it's "FOLDER INTERNAL DATA". (Do I smell pine?)

>Then I checked the maillog it says:
>
>supervise: fatal: unable to acquire log/supervise/lock: temporary failure
>supervise: fatal: unable to acquire qmail-send/supervise/lock: temporary failure
>supervise: fatal: unable to acquire qmail-smtpd/supervise/lock: temporary failure

I'm not sure why you got those, but apparently it *was* temporary
since all the necessary daemons seem to be running.

What do the qmail-send logs say? Did you look in ~alias/Mailbox for
bounces?

-Dave




[EMAIL PROTECTED] wrote:

>Then I tried the test.receive using the
>smtp.  I was able to follow the instructions given on the
>test.receive. But when I checked the mailbox, mail was not received,
>instead there was a mailer-daemon message...

>No, that's not really a mailer daemon message. As the Subject says,
>it's "FOLDER INTERNAL DATA". (Do I smell pine?)

Yes, I used pine mail.

>Then I checked the maillog it says:
>
>supervise: fatal: unable to acquire log/supervise/lock: temporary failure
>supervise: fatal: unable to acquire qmail-send/supervise/lock: temporary failure
>supervise: fatal: unable to acquire qmail-smtpd/supervise/lock: temporary failure

>I'm not sure why you got those, but apparently it *was* temporary
>since all the necessary daemons seem to be running.
Yes it's my mistake, it's not from maillog, it just appears on the screen after I 
execute
/usr/local/sbin/qmail start

>What do the qmail-send logs say? Did you look in ~alias/Mailbox for
>bounces?
There are no messages from the ~alias/Mailbox for bounces.
About qmail-send logs, I don't know where to find the log file, but what i did is I 
checked the status
using the /usr/local/sbin/qmail stat, it says:

qmail-send/log: up (pid 13777).

Now I have another problem, I cheked the /var/qmail/supervise/qmail-smtpd/run file and 
tried to edit it here is the file:

#!/bin/sh
QMAILDUID=`id -u qmaild`
NOFILESGID=`id -g qmaild`
exec /usr/local/bin/softlimit -m 4000000 \
    /usr/local/bin/tcpserver -v -p -x /etc/tcp.smtp.cdb \
        -u $QMAILDUID -g $NOFILESGID 0 smtp /var/qmail/bin/qmail-smtpd 2>&1

Then I saved it and restart qmail.....
After restarting, a repeated message appears on the screen:

> softlimit: fatal: unable to run : file does not exist

I don't know what it means, so I just ignore it and tried testing mail thru smtp.
Now I can't even connect. it says:

>telnet localhost 25

>Trying 127.0.0.1...
>telnet: Unable to connect to remote host: Connection refused.

Thanks for responding to my help, hope you could help me.

Mark






Adam McKenna <[EMAIL PROTECTED]> wrote:

>On Mon, Jul 31, 2000 at 06:04:12PM -0400, Michael T. Babcock wrote:
>> Use any version of PGP or "PGP for Windows" and use the clipboard encryption
>> features:
>> 1) select all text (Ctrl-A)
>> 2) "copy" (Ctrl-C)
>> 3) click on PGP tray icon
>> 4) click "sign & encrypt"
>> 5) enter password
>> 6) click window of program with selected text
>> 7) "paste" (Ctrl-V) (replacing original with encrypted + signed cipher-text)
>
>It's not even this complicated with 6.5.  You click on the window whose text
>you want to encrypt, click on the try icon, and click "encrypt window" (or
>something like that).  PGP automatically does the copying and pasting for you.

Still too hard. The way it *should* work is that I click "Send", a
pop-up asks me for my pasword, and the message is sent signed and
enrypted.

-Dave




True -- but that would require the countries the software manufacturers do business
in to relax their export regs. and allow for open encryption hooks in their tools.

Dave Sill wrote:

> >It's not even this complicated with 6.5.  You click on the window whose text
> >you want to encrypt, click on the try icon, and click "encrypt window" (or
> >something like that).  PGP automatically does the copying and pasting for you.
>
> Still too hard. The way it *should* work is that I click "Send", a
> pop-up asks me for my pasword, and the message is sent signed and
> encrypted.





Toens Bueker <[EMAIL PROTECTED]> wrote:

>From inetd(8):
>
>The optional `max'' suffix (separated from `wait'' or `nowait'' by a dot)
>specifies the maximum number of server instances that may be spawned from
>inetd within an interval of 60 seconds. When omitted, `max'' defaults to 40.

That's a rate limit, not a concurrency limit.

-Dave




I am running qmail w/ tcpserver, dnscache, and daemontools.  Latest
versions of each, despite the annoying tai64n timestamps on multilog.
;-)
  
Two to three times a day, tcpserver seems to slow way down.  While it is
acting up like this, it will accept a connection but will not actually
start qmail-smtpd for upwards of 60 - 90 seconds.  In the logs, that
looks like this:
  
2000-08-01 07:41:34.707211500 tcpserver: pid 61983 from 205.188.157.37
2000-08-01 07:41:35.418205500 tcpserver: status: 8/80
2000-08-01 07:41:35.419082500 tcpserver: pid 61985 from 38.202.217.115
2000-08-01 07:41:36.068649500 tcpserver: status: 9/80
2000-08-01 07:41:36.069495500 tcpserver: pid 61989 from 204.160.241.38
2000-08-01 07:41:36.357244500 tcpserver: status: 10/80
2000-08-01 07:41:36.363963500 tcpserver: pid 61992 from 216.243.128.254
2000-08-01 07:41:37.410698500 tcpserver: status: 11/80
  
<snip>
  
2000-08-01 07:42:25.356440500 tcpserver: pid 62056 from 216.243.128.254
2000-08-01 07:42:33.785679500 tcpserver: ok 61983 :216.243.128.140:25
:205.188.1
2000-08-01 07:42:34.229199500 tcpserver: end 61983 status 0
2000-08-01 07:42:34.229575500 tcpserver: status: 22/80
2000-08-01 07:42:34.432984500 tcpserver: ok 61985
mail.bitstream.net:216.243.128
2000-08-01 07:42:34.453643500 tcpserver: ok 61989
mail.bitstream.net:216.243.128
2000-08-01 07:42:34.455611500 tcpserver: status: 23/80
2000-08-01 07:42:34.461901500 tcpserver: pid 62070 from 216.243.128.254
  
Note the delay from when it notes the start of a connection (07:41:34)
to when it actually accepts it and says OK (07:42:25).  This one only          
lasted ~ 1 minute, but I have seen it take twice as long.  From other
logs it does not seem that the system load is getting too high.  I am
not obtaining $TCPREMOTEINFO or doing reverse lookups.  Here is the
command line I am using for tcpserver:
  
exec /usr/local/bin/softlimit -m 2000000 \
     /usr/local/bin/tcpserver -R -H -c80 -v -x \
     /etc/smtprules/tcp.smtp.cdb -u73 -g1003 0 smtp \
     /var/qmail/bin/qmail-smtpd 2>&1
  
Any ideas?
  
Thanks,
Ben

-- 
Ben Beuchler                                         [EMAIL PROTECTED]
MAILER-DAEMON                                         (612) 321-9290 x101
Bitstream Underground                                   www.bitstream.net




On Tue, Aug 01, 2000 at 08:03:23AM -0500, Ben Beuchler wrote:
> despite the annoying tai64n timestamps on multilog. ;-)

Let's just pass over that :)

> 2000-08-01 07:42:33.785679500 tcpserver: ok 61983 :216.243.128.140:25
> :205.188.1
> 2000-08-01 07:42:34.432984500 tcpserver: ok 61985
> mail.bitstream.net:216.243.128
> 2000-08-01 07:42:34.453643500 tcpserver: ok 61989
> mail.bitstream.net:216.243.128
  
> Note the delay from when it notes the start of a connection (07:41:34)
> to when it actually accepts it and says OK (07:42:25).

I've cut out everything but the 'ok' lines. They look incomplete. Could
you check that's what they actually contain?

> Here is the command line I am using for tcpserver:
>   
> exec /usr/local/bin/softlimit -m 2000000 \
>      /usr/local/bin/tcpserver -R -H -c80 -v -x \
>      /etc/smtprules/tcp.smtp.cdb -u73 -g1003 0 smtp \
>      /var/qmail/bin/qmail-smtpd 2>&1

Are you certain that is the invocation used for the running instance of
tcpserver? The log lines above have TCPLOCALHOST information, which
mean it is looking up your hosts IP address in the DNS. Is the reverse
DNS for your IP allocation healthy?

Regards,

james
-- 
James Raftery (JBR54)  -  Programmer Hostmaster  -  IE TLD Hostmaster
   IE Domain Registry  -  www.domainregistry.ie  -  (+353 1) 706 2375
  "Managing 4000 customer domains with BIND has been a lot like
   herding cats." - Mike Batchelor, on [EMAIL PROTECTED]




On Tue, Aug 01, 2000 at 03:27:44PM +0100, James Raftery wrote:

> On Tue, Aug 01, 2000 at 08:03:23AM -0500, Ben Beuchler wrote:
> > despite the annoying tai64n timestamps on multilog. ;-)
> 
> Let's just pass over that :)
> 
> > 2000-08-01 07:42:33.785679500 tcpserver: ok 61983 :216.243.128.140:25
> > :205.188.1
> > 2000-08-01 07:42:34.432984500 tcpserver: ok 61985
> > mail.bitstream.net:216.243.128
> > 2000-08-01 07:42:34.453643500 tcpserver: ok 61989
> > mail.bitstream.net:216.243.128
>   
> > Note the delay from when it notes the start of a connection (07:41:34)
> > to when it actually accepts it and says OK (07:42:25).
> 
> I've cut out everything but the 'ok' lines. They look incomplete. Could
> you check that's what they actually contain?

I apologize, I'm not sure how I managed to truncate those lines.  Here's
the actual goods:

2000-08-01 07:42:33.785679500 tcpserver: ok 61983 :216.243.128.140:25
:205.188.157.37::35254
2000-08-01 07:42:34.432984500 tcpserver: ok 61985
mail.bitstream.net:216.243.128.140:25 :38.202.217.115::1855
2000-08-01 07:42:34.453643500 tcpserver: ok 61989
mail.bitstream.net:216.243.128.140:25 :204.160.241.38::63400
 
> > Here is the command line I am using for tcpserver:
> >   
> > exec /usr/local/bin/softlimit -m 2000000 \
> >      /usr/local/bin/tcpserver -R -H -c80 -v -x \
> >      /etc/smtprules/tcp.smtp.cdb -u73 -g1003 0 smtp \
> >      /var/qmail/bin/qmail-smtpd 2>&1
> 
> Are you certain that is the invocation used for the running instance of
> tcpserver? The log lines above have TCPLOCALHOST information, which
> mean it is looking up your hosts IP address in the DNS. 

Hmmm...  What flag tells it not to look for that?  Anyway, here's the
actual running copy from 'ps awx | grep smtprules':

83699  ??  S      0:58.31 /usr/local/bin/tcpserver -R -H -c80 -v -x
/etc/smtprules/tcp.smtp.cdb -u73 -g1003 0 smtp
/var/qmail/bin/qmail-smtpd

> Is the reverse DNS for your IP allocation healthy?

It appears to be.  If you or anyone else can find a problem with it, I
would be greatful.  But...  Everything appears to be fine.

Thanks,
Ben

-- 
Ben Beuchler                                         [EMAIL PROTECTED]
MAILER-DAEMON                                         (612) 321-9290 x101
Bitstream Underground                                   www.bitstream.net




On Tue, Aug 01, 2000 at 09:43:50AM -0500, Ben Beuchler wrote:
> Hmmm...  What flag tells it not to look for that?

-l localname
See http://cr.yp.to/ucspi-tcp/tcpserver.html for the full raft of
options.

> It appears to be.  If you or anyone else can find a problem with it, I
> would be greatful.  But...  Everything appears to be fine.

The delegation information your nameservers are announcing for
128.243.216.in-addr.arpa is different to what ARIN have registered for
the netblock. There no reason this would cause tcpserver to pause, but
even so.

Regards,

james
-- 
James Raftery (JBR54)  -  Programmer Hostmaster  -  IE TLD Hostmaster
   IE Domain Registry  -  www.domainregistry.ie  -  (+353 1) 706 2375
  "Managing 4000 customer domains with BIND has been a lot like
   herding cats." - Mike Batchelor, on [EMAIL PROTECTED]




On Tue, Aug 01, 2000 at 05:52:57PM +0100, James Raftery wrote:

> On Tue, Aug 01, 2000 at 09:43:50AM -0500, Ben Beuchler wrote:
> > Hmmm...  What flag tells it not to look for that?
> 
> -l localname
> See http://cr.yp.to/ucspi-tcp/tcpserver.html for the full raft of
> options.

I will try that, thank-you.
 
> > It appears to be.  If you or anyone else can find a problem with it, I
> > would be greatful.  But...  Everything appears to be fine.
> 
> The delegation information your nameservers are announcing for
> 128.243.216.in-addr.arpa is different to what ARIN have registered for
> the netblock. There no reason this would cause tcpserver to pause, but
> even so.

I will look into that.

Thanks!

Ben

-- 
Ben Beuchler                                         [EMAIL PROTECTED]
MAILER-DAEMON                                         (612) 321-9290 x101
Bitstream Underground                                   www.bitstream.net




Hi...

i have the Problem that we are serving domains for foo.de
our Mailserver is in 194.97.15.0
The customers Mailserver is in 62.108.55.224 for example.
The customers cant send mail over our mailserver. The domain
foo.de is in rctphosts of qmail.
Is there a way to fix this problem so that they
are able to send mail witch our Server.

Regards

Alex





Hi...

Another way is to add the ip range or individual addresses into you
/etc/tcp.smtp file and recreate the smtp.cdb file. Also double check the
spelling in rcpthosts (although I think that is not poss but you never know)

:o)

Slider



Hi...

i have the Problem that we are serving domains for foo.de
our Mailserver is in 194.97.15.0
The customers Mailserver is in 62.108.55.224 for example.
The customers cant send mail over our mailserver. The domain
foo.de is in rctphosts of qmail.
Is there a way to fix this problem so that they
are able to send mail witch our Server.

Regards

Alex








In addition be sure that the qmail processes have been restarted, in order
to take up the new settings!!

;o)

Slider


Hi...

i have the Problem that we are serving domains for foo.de
our Mailserver is in 194.97.15.0
The customers Mailserver is in 62.108.55.224 for example.
The customers cant send mail over our mailserver. The domain
foo.de is in rctphosts of qmail.
Is there a way to fix this problem so that they
are able to send mail witch our Server.

Regards

Alex







Sten <[EMAIL PROTECTED]> wrote:

>       I didn't see anything in the FAQ that seemed to be relevant to 
>this, and the ORNL search engine wants to split 'message-id' into
>'message' and 'id'.

"message id" does the trick.

>       I just received a pair of messages from PayPal, which appears
>to be using qmail.  I'm fortunate to have received a pair of messages
>(headers below), because I use procmail to eliminate duplicate
>messages based upon the Message-ID header, which RFC 822 requires to
>be unique.  However, I'm a paranoid bastard, and shunt all "duplicate"
>email to a duplicates folder, rather than sending it to /dev/null, so
>I caught the false duplicate.

There's paranoia, and there's prudence. :-)

>My question is, is this a known problem
>with qmail, possibly a misconfiguration or something correctable by an
>upgrade?  I'd like to be able to tell PayPal more than "Your mailer is
>doing Bad Things.".

qmail's message ID's are of the form timestamp.pid.qmail@hostname. The 
only way you could get a duplicate would be if the same process ID is
reused twice within the same second (the resolution of the timestamp)
to send different messages to the same user.

That appears to be what happened in your case. I take it the messages
were different?

One fix would be to increase the resolution of the timestamp to, say,
the millisecond.

This is the first case of a duplicate message ID I've heard of under
qmail.

-Dave




>>>>> Dave Sill writes:

DS> Sten <[EMAIL PROTECTED]> wrote:
>> I didn't see anything in the FAQ that seemed to be relevant to
>> this, and the ORNL search engine wants to split 'message-id' into
>> 'message' and 'id'.

DS> "message id" does the trick.

        Not any better than 'message-id'.  It finds what it should,
but also tosses in extraneous messages (like
http://www.ornl.gov/its/archives/mailing-lists/qmail/2000/03/msg00099.html 
- 'id' doesn't even appear as a substring in that message).  I'm
guessing that 'id' (and 'message-id') are matching the header field,
which doesn't get displayed.

DS> There's paranoia, and there's prudence. :-)

        Just because I'm paranoid doesn't mean that I can't do
something prudent because of it. ;)

>> My question is, is this a known problem with qmail, possibly a
>> misconfiguration or something correctable by an upgrade?  I'd like
>> to be able to tell PayPal more than "Your mailer is doing Bad
>> Things.".

DS> qmail's message ID's are of the form
DS> timestamp.pid.qmail@hostname. The only way you could get a
DS> duplicate would be if the same process ID is reused twice within
DS> the same second (the resolution of the timestamp) to send
DS> different messages to the same user.

        Are you sure of that?  It looks like the headers may have been 
lost (I should have known better than to leave the 'From ' lines
unaltered), but the lines which would seem to be relevant are:

Received: (qmail 28582 invoked by uid 99); 1 Aug 2000 02:20:39 -0000 
Message-ID: <[EMAIL PROTECTED]>

        and

Received: (qmail 28583 invoked by uid 99); 1 Aug 2000 02:20:39 -0000
Message-ID: <[EMAIL PROTECTED]>

        I can see the timestamp in the message ID, but the process IDs
doesn't seem to match up.

DS> That appears to be what happened in your case. I take it the
DS> messages were different?

        Most definitely.

DS> One fix would be to increase the resolution of the timestamp to,
DS> say, the millisecond.

        Would that be something that can be changed in the
configuration, or would it require a recompile?

        Thanks for your help!

-- 
#include <disclaimer.h>                               /* Sten Drescher */
[The Internet is] like a library in Resident Evil.
                                                 - Mark Waid, 23 Aug 2000




Are you asking more for something like:

2000/07/31 06:02:10.42 (GMT+05)

This has always been the date format I've prefered ... its sortable (as the year
comes first -- although its quite narrow-minded of me to not allow for 5 digit
dates), its human-readable, and quite parsable.  The decimal portion after the time
allows for sub-second time measurement.  I'm pretty sure adding a function to your
copy of multilog/whatever that converted from the tai64n format to something more
like the above wouldn't be that hard.

David Dyer-Bennet wrote:

>  > Would you prefer the splogger format (to wit, Unix timestamp with
>  > fractional part) instead? I'd do anything to use a logging format
>  > that avoids timezone dependency, and multilog/tai64n seems to do
>  > that job well.
>
> You mean this:
>    Jul 31 06:02:10 gw qmail: 965023330.820010 status: local 1/10 remote 0/50
> ?
>
> It's better than tai64n, because syslog puts a real timestamp on, but
> that big chunk of meaningless numbers in the middle wastes a lot of
> the line and adds no useful information.  It's what I'm using now on
> my main server, but it's quite wasteful and annoying.  (But
> qmailanalog expects it)





-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 1 Aug 00, at 9:58, Michael T. Babcock wrote:

> Are you asking more for something like:
> 
> 2000/07/31 06:02:10.42 (GMT+05)
> 
> This has always been the date format I've prefered ... its sortable
> (as the year comes first -- although its quite narrow-minded of me to
> not allow for 5 digit dates),

It's not sortable:
1. '+' precedes '-' in ASCII. Yuck.
2. How do you compare (cutting unimportant stuff) 17:30 (GMT+1) 
and 18:00 (GMT+0)? Go figure.
3. Fixing seconds precision to two decimals is wrong, too.

There goes.

> > You mean this:
> >    Jul 31 06:02:10 gw qmail: 965023330.820010 status: local 1/10
> >    remote 0/50
> > ?

What? You're timestamping your logs both by syslog and some 
timestamper from old daemontools, whatever-was-its-name, 
accustamp? Why on Earth? Either you want to log through syslogd 
or something which adds the stamps (you call them human 
readable), or through accustamp or multilog which adds tai or tai64 
timestamps.

And, for what it's worth, _my_ logs should be machine readable, 
not human readable. I inspect qmail logs only seldom, and I can 
surely pipe them through tai(64n)local; however, my log analyzing 
tools run much more often, and I expect lots of reliability from 
them. And I don't want to spend several hours explaining the log 
parser that on my system, the timestamp looks like 
"%D %d %M %h:%m:%.4s %TZ" or whatever.

-----BEGIN PGP SIGNATURE-----
Version: PGP 6.0.2 -- QDPGP 2.60 
Comment: http://community.wow.net/grt/qdpgp.html

iQA/AwUBOYbMfVMwP8g7qbw/EQICmACeLP7qwvTtHsOz9Exks6t+8YaF2u0AoOzr
YJ5FgM9B3kdr8pUKnRZk3s0O
=1OBP
-----END PGP SIGNATURE-----
--
Petr Novotny, ANTEK CS
[EMAIL PROTECTED]
http://www.antek.cz
PGP key ID: 0x3BA9BC3F
-- Don't you know there ain't no devil there's just God when he's drunk.
                                                             [Tom Waits]




Which part of "more like" did you miss?

Fixing seconds precision to anything is unnecessary ... with a decimal to
separate the fractional portion and a space to end it, it can be as short or
long as you wish -- a parser does not need that number to have 0 padding at
the end ... comment irrelevant.

The bracketed GMT+x is for the sake of comparing times made by systems that
don't have a friendly timezone system for conversion.  That said, preference
would be to store times in GMT and not need the spec ... (GMT+00) ... but
that's not as easy as it sounds sometimes, so the option was left.

Yes, I thought of those.

And yes, its sortable -- within a timezone.

Petr Novotny wrote:

> > Are you asking more for something like:
> >
> > 2000/07/31 06:02:10.42 (GMT+05)
> >
> > This has always been the date format I've prefered ... its sortable
> > (as the year comes first -- although its quite narrow-minded of me to
> > not allow for 5 digit dates),
>
> It's not sortable:
> 1. '+' precedes '-' in ASCII. Yuck.
> 2. How do you compare (cutting unimportant stuff) 17:30 (GMT+1)
> and 18:00 (GMT+0)? Go figure.
> 3. Fixing seconds precision to two decimals is wrong, too.





POR FAVOR RETIREM MEU EMAIL DESTA LISTA
MUITO OBRIGADA
MONICA
 




On Tue, Aug 01, 2000 at 10:34:51AM -0400, Bennett Todd wrote:

> 2000-07-28-16:04:47 Ben Beuchler:
> > Any major gotchas with djbdns, besides the problems nslookup has
> > talking to it?
> 
> nslookup only has a problem if it's not serving its own address
> properly for reverse lookups, other than that it should be fine.

Thank you for your no doubt time-consuming reply.  Lots of good
information.  And I think you have convinced me:  Sometime in the near
future we will be a djbdns shop.  It will take some arm twisting of the
other admins, but it will happen.

Thanks again,
Ben

-- 
Ben Beuchler                                         [EMAIL PROTECTED]
MAILER-DAEMON                                         (612) 321-9290 x101
Bitstream Underground                                   www.bitstream.net




2000-08-01-10:50:58 Ben Beuchler:
> Sometime in the near future we will be a djbdns shop.  It will
> take some arm twisting of the other admins, but it will happen.

That's good. You'll be glad.

I'll tell you how I made the transition, not that this is the only
way or anything, but it worked really well for me.

I started by setting it up on my own workstation. First I ran myself
a dnscache. Then I scripted some stuff (which I've published, it's
my little packet of helper scripts, available from dnscache.org) to
make it easy for me to set up "secondaries", tinydns servers that
poll other servers via zone xfer to get the authoritative data that
they'll serve. I set up one of them on my workstation, polling from
my company's authoritative nameserver to pick up the company zones.
As my own workstation doesn't have a static IP addr, I ended up
putting my dnscache on 127.0.0.1, and my tinydns on 127.0.0.2. Then
I told my dnscache to reference my tinydns for the zones that
tinydns was tracking. Now I had a standalone nameservice of my own,
with tinydns pumping out the zones our company is authoritative for,
and could experiment and learn how it worked.

My next step was to start rolling out dnscache installs. I started
with servers; any box that wants to be able to do DNS lookups, and
that can run dnscache, I tried to install it. I got the major
servers anyway. That bought an instant security and performance
improvement, with no visible changes; this was just switching server
at a time to using 127.0.0.1 in /etc/resolv.conf and running a local
dnscache. That went perfectly, no problems at all.

Then I got the company's secondary running tinydns, with my
mirroring scripts pulling via zone xfer from our primary. That
worked fine too, and enabled the other SAs to see what a working
tinydns install looks like, and to look over the config and satisfy
themselves that they'd find it maintainable and supportable. That
was also painless, since secondaries normally don't get manually
maintained, and since I'd already tested out the scripting that
brought it up accurately and correctly the first time.

Finally we set up a new tinydns server to be the authoritative
master for our zones. We had it mirroring via zone xfers, with my
scripts, from our primary. We then had the registrars switch the
zones to the new server. Then a week or so later, when we were sure
nobody would still be thinking about the old one, we simply switched
it off, and started hand-maintaining the new tinydns master. In
between those two, when the new primary was up and mirroring
properly and before switching off the old BIND master, we switched
the secondary so it got its updates via rsync-over-ssh from the new
tinydns primary rather than via zone xfer from the old one.

It may seem kinda roundabout, but I found this a low-stress,
painless way to ease on into the new way of doing things, and I
haven't been lynched by my fellow SAs yet. I did take some care to
talk through what I wanted to do, and why, and what visible changes
would appear at each step, and how they'd need to administer things,
so everybody felt informed and felt like they had a chance to object
if I was about to gore their ox somehow.

-Bennett

PGP signature





On Tue, Aug 01, 2000 at 11:03:59AM -0400, Bennett Todd wrote:

> 2000-08-01-10:50:58 Ben Beuchler:
> > Sometime in the near future we will be a djbdns shop.  It will
> > take some arm twisting of the other admins, but it will happen.
> 
> That's good. You'll be glad.
> 
> I'll tell you how I made the transition, not that this is the only
> way or anything, but it worked really well for me.

Sounds like a very sane way of doing it.  I'm saving your message for
future reference.  Thanks again!

Ben

-- 
Ben Beuchler                                         [EMAIL PROTECTED]
MAILER-DAEMON                                         (612) 321-9290 x101
Bitstream Underground                                   www.bitstream.net




Please help me !!
I can't figure what I shall do to configure and run Mrtg for QMAIL....
I'm using multilog.... Is it possible to use it with MRTG ??

I have the following logs :

Died at /usr/local/bin/qmail-mrtg-concurrency line 14.
Could not get any data from external command
'/usr/local/bin/qmail-mrtg-concurrency /var/log/qmail/qmail-smtpd/'
Maybe the external command did not even start. (Illegal seek)

Not enough log files to cover 600 seconds at /usr/local/bin/qmail-mrtg-mess
line 27.
Could not get any data from external command '/usr/local/bin/qmail-mrtg-mess
/var/log/qmail/qmail-send/'
Maybe the external command did not even start. (Illegal seek)

Help me please






Cedric Fontaine writes:
 > Please help me !!
 > I can't figure what I shall do to configure and run Mrtg for QMAIL....
 > I'm using multilog.... Is it possible to use it with MRTG ??

Yes, however there's a bug which I'm going to rewrite around.  Going to....

-- 
-russ nelson <[EMAIL PROTECTED]>  http://russnelson.com  | If you think 
Crynwr sells support for free software  | PGPok | health care is expensive now
521 Pleasant Valley Rd. | +1 315 268 1925 voice | now, wait until you see
Potsdam, NY 13676-3213  | +1 315 268 9201 FAX   | what it costs when it's free. 




Albert Hopkins <[EMAIL PROTECTED]> writes:

> The new location is on another (non-qmail) server.  Basically this
> user is wanting her currently delivered email to be send to the
> other email address (the one I put in her .qmail).  I'm not sure if
> it's called requeuing or what but basically I want qmail to
> re-process the delivered mail according to the new .qmail file.

  maildirsmtp in the serialmail package might do what you want it to.
See:

        http://cr.yp.to/serialmail.html

-----ScottG.




I would like to bounce all mail incoming to my qmail machine (which is
qmail.domain.com) for domain.com to mail.domain.com while i set up my
server. What would this look like in smtproutes? I don't see this file in my
control files, and I didnt see it in the install docs. Can anyone point me
towards the answer/tell me which M to RTF?


Thanks,


Jacob





On Tue, Aug 01, 2000 at 11:05:18AM -0700, Jacob Scott wrote:
> I would like to bounce all mail incoming to my qmail machine (which is
> qmail.domain.com) for domain.com to mail.domain.com while i set up my 
> server. What would this look like in smtproutes? I don't see this file in my 
> control files, and I didnt see it in the install docs. Can anyone point me   
> towards the answer/tell me which M to RTF?

man qmail-control
This man page tells you which man page each file in /var/qmail/control
is referenced under.  This is mentioned in the install, but is generally
not absorbed during the initial learning curve.

John




That's more of what the RBL is for -- if you want to take that step.  The RBL
is supposed to be a good list of sites that are producing spam, not that are
necessarily open relays at all.

"Hubbard, David" wrote:

> Thanks for responding Chris.  I am currently using the MAPS
> relays.mail-abuse.org with rblsmtpd, I guess the spam I'm
> getting isn't coming from an open relay.  Actually, the
> spammers usually relay through a valid mail server for their
> network that isn't an open relay on the internet, it's just
> allowing users who are behind it to go through it.  I guess
> in this case my best bet would be to forward it to their
> admins since I can't block by originating IP...





* Chad Cranston <[EMAIL PROTECTED]> writes:
> 1.  (*) text/plain ( ) text/html
       ^
Turn this off. It only makes your mail 5x as big without adding anything.

> I'm having problems w/ vpasswd the binary file for vpasswd (to change
> the password of a vpopmail user) is located in /home/vpopmail/bin but
> the users are located in /home/vpopmail/domains/foo.com how can i use
> the vpopmail and vadduser ?? 

As described in the documentation residing under /home/vpopmail/doc:
vadduser [email address] [password] [-a] [-q hard quota in bytes]

> .... it does not specify any syntax i need to add users and change
> password for vpop users from console.

http://www.inter7.com/qmailadmin/ -> man w3m?
-- 
Robin S. Socha <http://socha.net/>




Actually, no.  The problem is that his E-mail client (Outlook Express) has
the option of sending BOTH plain and html versions of the message and is
sending them encoded as seperate MIME segments.  Netscape Messenger also
supports this, but IMHO, its an incorrect reading of how MIME should be used.

"Robin S. Socha" wrote:

> * Chad Cranston <[EMAIL PROTECTED]> writes:
> > 1.  (*) text/plain ( ) text/html
>        ^
> Turn this off. It only makes your mail 5x as big without adding anything.






Hi,

I have been using Qmail on Linux for a while. All the mail I send from
Linux seem to get delivered to the destination SMTP server. On my local LAN
I do have non-Linux systems. When I point the email clients the Linux system
as the SMTP server, I am getting the following message:

"An error occured while sending mail: SMTP server error
The server responded
(null)
Contact your mail administrator for assistance"

It looks like qmail-smtpd is dropping the connection. Do I have to make any changes
to the tcp.smtp file? I have had the private LAN subnet in the tcp.smtp file.

127.0.0.1:allow,RELAYCLIENT=""
192.168.2.:allow,RELAYCLIENT=""
:allow

Is there anything else that I am missing? I would like to use one local SMTP server
for the Windows and OS/2 systems.

Thank you in advance for any help.
-- 

Subba Rao
[EMAIL PROTECTED]
http://pws.prserv.net/truemax/

 => Time is relative. Here is a new way to look at time. <=
http://www.smcinnovations.com




hi,
try a telnet to port 25 of your linuxbox from a m$-client. if you get a connection 
type HELO DUDE and CR. you should see an answer
from your qmail server. if not, it may be possible, that your tcp-server is not 
listening at the local device.
IMHO tcp.smtp is responsible for relaying and therefor the errormessage should be a 
deferral and not a null.
and, btw what about reverse nameloockup (there my be a timeout). you may try the -R 
flag for tcpserver.

hope that helps
;) alexander

> -----Original Message-----
> From: Subba Rao [mailto:[EMAIL PROTECTED]]
> Sent: Tuesday, August 01, 2000 9:09 PM
> To: Qmail Users
> Subject: Qmail and non-Linux clients
>
>
>
> Hi,
>
> I have been using Qmail on Linux for a while. All the mail I send from
> Linux seem to get delivered to the destination SMTP server. On my local LAN
> I do have non-Linux systems. When I point the email clients the Linux system
> as the SMTP server, I am getting the following message:
>
> "An error occured while sending mail: SMTP server error
> The server responded
> (null)
> Contact your mail administrator for assistance"
>
> It looks like qmail-smtpd is dropping the connection. Do I have to make any changes
> to the tcp.smtp file? I have had the private LAN subnet in the tcp.smtp file.
>
> 127.0.0.1:allow,RELAYCLIENT=""
> 192.168.2.:allow,RELAYCLIENT=""
> :allow
>
> Is there anything else that I am missing? I would like to use one local SMTP server
> for the Windows and OS/2 systems.
>
> Thank you in advance for any help.
> --
>
> Subba Rao
> [EMAIL PROTECTED]
> http://pws.prserv.net/truemax/
>
>  => Time is relative. Here is a new way to look at time. <=
> http://www.smcinnovations.com
>





When the mail goes out from any of my systems on the LAN, I would like to
hide the IP addresses and possibly the host names(don't know if the later is
possible).

What Qmail files do I need to look at to hide IP address information in the
headers?

-- 

Subba Rao
[EMAIL PROTECTED]
http://pws.prserv.net/truemax/

 => Time is relative. Here is a new way to look at time. <=
http://www.smcinnovations.com




On 01-Aug-2000, Michael T. Babcock wrote:
> "Robin S. Socha" wrote:
> > * Chad Cranston <[EMAIL PROTECTED]> writes:
> > > 1.  (*) text/plain ( ) text/html
> >        ^
> > Turn this off. It only makes your mail 5x as big without adding anything.
> 
> Actually, no.  The problem is that his E-mail client (Outlook Express) has
> the option of sending BOTH plain and html versions of the message
> [...]

Which is the point. Sending both versions doubles (at least) the size
but not the amount of information.

Ronny




On Tue, Aug 01, 2000 at 05:34:36PM +1200, Chris, the Young One wrote:

> On Mon, Jul 31, 2000 at 11:12:54PM -0400, Vincent Danen wrote:
> ! In /etc/passwd I have this:
> ! 
> ! alias:x:400:401::/var/qmail/alias:/bin/true
> 
> Can you please run qmail-showctl and list the output of the line
> ``user ids''. The first number shown has to be 400, in your case.
> 
> Also, type ``ls -dln /var/qmail/alias'' and make sure it says 400
> in the third field.

All of the info is below... 

qmail home directory: /var/qmail.
user-ext delimiter: -.
paternalism (in decimal): 2.
silent concurrency limit: 120.
subdirectory split: 23.
user ids: 400, 401, 402, 0, 403, 404, 405, 406.
group ids: 401, 400.

badmailfrom: (Default.) Any MAIL FROM is allowed.

bouncefrom: (Default.) Bounce user name is MAILER-DAEMON.

bouncehost: (Default.) Bounce host name is slave.danen.net.

concurrencylocal: (Default.) Local concurrency is 10.

concurrencyremote: (Default.) Remote concurrency is 20.

databytes: (Default.) SMTP DATA limit is 0 bytes.

defaultdomain: Default domain name is danen.net.

defaulthost: (Default.) Default host name is slave.danen.net.

doublebouncehost: (Default.) 2B recipient host: slave.danen.net.

doublebounceto: (Default.) 2B recipient user: postmaster.

envnoathost: (Default.) Presumed domain name is slave.danen.net.

helohost: (Default.) SMTP client HELO host name is slave.danen.net.

idhost: (Default.) Message-ID host name is slave.danen.net.

localiphost: (Default.) Local IP address becomes slave.danen.net.

locals: 
Messages for slave.danen.net are delivered locally.
Messages for pellaria.com are delivered locally.

me: My name is slave.danen.net.

percenthack: (Default.) The percent hack is not allowed.

plusdomain: Plus domain name is danen.net.

qmqpservers: (Default.) No QMQP servers.

queuelifetime: (Default.) Message lifetime in the queue is 604800 seconds.

rcpthosts: 
SMTP clients may send messages to recipients at slave.danen.net.
SMTP clients may send messages to recipients at pellaria.com.

morercpthosts: (Default.) No effect.

morercpthosts.cdb: (Default.) No effect.

smtpgreeting: (Default.) SMTP greeting: 220 slave.danen.net.

smtproutes: (Default.) No artificial SMTP routes.

timeoutconnect: (Default.) SMTP client connection timeout is 60 seconds.

timeoutremote: (Default.) SMTP client data timeout is 1200 seconds.

timeoutsmtpd: (Default.) SMTP server data timeout is 1200 seconds.

virtualdomains: (Default.) No virtual domains.

defaultdelivery: I have no idea what this file does.

aliasempty: I have no idea what this file does.

This is the output of ls -dln...

drwxr-sr-x    2 400      400           163 Jul 30 17:50 /var/qmail/alias/

Could this be it?  It's owned by alias.qmail, maybe it should be
alias.nofiles?  I'm guessing because the files in alias/ are owned by
alias.nofiles.

/etc/passwd:
alias:x:400:401::/var/qmail/alias:/bin/true
qmaild:x:401:401::/var/qmail:/bin/true
qmaill:x:402:401::/var/qmail:/bin/true
qmailp:x:403:401::/var/qmail:/bin/true
qmailq:x:404:400::/var/qmail:/bin/true
qmailr:x:405:400::/var/qmail:/bin/true
qmails:x:406:400::/var/qmail:/bin/true

/etc/group:
qmail:x:400:
nofiles:x:401:


-- 
[EMAIL PROTECTED], OpenPGP key available on www.keyserver.net
Freezer Burn BBS:  telnet://bbs.freezer-burn.org . ICQ: 54924721
Webmaster for the Linux Portal Site Freezer Burn:  http://www.freezer-burn.org

Current Linux uptime: 2 days 20 hours 47 minutes.




Ok, I fixed it.  It now just rotates the serverindex.pos[] by a random
amount, and then loops through until it finds a good server. rand() is still
seeded with milliseconds from the system clock.  I used memcpy() to move the
array around instead of loops to make it more efficient.

Would it be possible to run qmqpc as some sort of daemon?  Then it could
have memory of which server it contacted last and make sure it went to the
next one, instead of having the chance of picking the same one again.

Jay



#include <sys/types.h>
#include <string.h>
#include <memory.h>
#include <sys/socket.h>
#include <stddef.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <stdlib.h>
#include <sys/time.h>
#include <sys/timeb.h>
#include "substdio.h"
#include "getln.h"
#include "readwrite.h"
#include "exit.h"
#include "stralloc.h"
#include "slurpclose.h"
#include "error.h"
#include "sig.h"
#include "ip.h"
#include "timeoutconn.h"
#include "timeoutread.h"
#include "timeoutwrite.h"
#include "auto_qmail.h"
#include "control.h"
#include "fmt.h"

#define PORT_QMQP 628

void die_success() { _exit(0); }
void die_perm() { _exit(31); }
void nomem() { _exit(51); }
void die_read() { if (errno == error_nomem) nomem(); _exit(54); }
void die_control() { _exit(55); }
void die_socket() { _exit(56); }
void die_home() { _exit(61); }
void die_temp() { _exit(71); }
void die_conn() { _exit(74); }
void die_format() { _exit(91); }

int lasterror = 55;
int qmqpfd;

int saferead(fd,buf,len) int fd; char *buf; int len;
{
  int r;
  r = timeoutread(60,qmqpfd,buf,len);
  if (r <= 0) die_conn();
  return r;
}
int safewrite(fd,buf,len) int fd; char *buf; int len;
{
  int r;
  r = timeoutwrite(60,qmqpfd,buf,len);
  if (r <= 0) die_conn();
  return r;
}

char buf[1024];
substdio to = SUBSTDIO_FDBUF(safewrite,-1,buf,sizeof buf);
substdio from = SUBSTDIO_FDBUF(saferead,-1,buf,sizeof buf);
substdio envelope = SUBSTDIO_FDBUF(read,1,buf,sizeof buf);
/* WARNING: can use only one of these at a time! */

stralloc beforemessage = {0};
stralloc message = {0};
stralloc aftermessage = {0};

char strnum[FMT_ULONG];
stralloc line = {0};

struct sindex
{
                int pos[256];
                int len;
};

void getmess()
{
  int match;

  if (slurpclose(0,&message,1024) == -1) die_read();

  strnum[fmt_ulong(strnum,(unsigned long) message.len)] = 0;
  if (!stralloc_copys(&beforemessage,strnum)) nomem();
  if (!stralloc_cats(&beforemessage,":")) nomem();
  if (!stralloc_copys(&aftermessage,",")) nomem();

  if (getln(&envelope,&line,&match,'\0') == -1) die_read();
  if (!match) die_format();
  if (line.len < 2) die_format();
  if (line.s[0] != 'F') die_format();

  strnum[fmt_ulong(strnum,(unsigned long) line.len - 2)] = 0;
  if (!stralloc_cats(&aftermessage,strnum)) nomem();
  if (!stralloc_cats(&aftermessage,":")) nomem();
  if (!stralloc_catb(&aftermessage,line.s + 1,line.len - 2)) nomem();
  if (!stralloc_cats(&aftermessage,",")) nomem();

  for (;;) {
    if (getln(&envelope,&line,&match,'\0') == -1) die_read();
    if (!match) die_format();
    if (line.len < 2) break;
    if (line.s[0] != 'T') die_format();

    strnum[fmt_ulong(strnum,(unsigned long) line.len - 2)] = 0;
    if (!stralloc_cats(&aftermessage,strnum)) nomem();
    if (!stralloc_cats(&aftermessage,":")) nomem();
    if (!stralloc_catb(&aftermessage,line.s + 1,line.len - 2)) nomem();
    if (!stralloc_cats(&aftermessage,",")) nomem();
  }
}

void doit(server)
char *server;
{
  struct ip_address ip;
  char ch;

  if (!ip_scan(server,&ip)) return;

  qmqpfd = socket(AF_INET,SOCK_STREAM,0);
  if (qmqpfd == -1) die_socket();

  if (timeoutconn(qmqpfd,&ip,PORT_QMQP,10) != 0) {
    lasterror = 73;
    if (errno == error_timeout) lasterror = 72;
    close(qmqpfd);
    return;
  }

  strnum[fmt_ulong(strnum,(unsigned long) (beforemessage.len + message.len +
aftermessage.len))] = 0;
  substdio_puts(&to,strnum);
  substdio_puts(&to,":");
  substdio_put(&to,beforemessage.s,beforemessage.len);
  substdio_put(&to,message.s,message.len);
  substdio_put(&to,aftermessage.s,aftermessage.len);
  substdio_puts(&to,",");
  substdio_flush(&to);

  for (;;) {
    substdio_get(&from,&ch,1);
    if (ch == 'K') die_success();
    if (ch == 'Z') die_temp();
    if (ch == 'D') die_perm();
  }
}

stralloc servers = {0};

main()
{
  int i;
  int j;
  int randj;
  int randarr[256];
  struct timeb tp;
  struct sindex serverindex;
  
  sig_pipeignore();

  if (chdir(auto_qmail) == -1) die_home();
  if (control_init() == -1) die_control();
  if (control_readfile(&servers,"control/qmqpservers",0) != 1)
die_control();

  getmess();
  serverindex.len = 1;
  serverindex.pos[0]=0;
  for (j = 0; j < servers.len; j++)
  {
                  if (servers.s[j] == NULL) {
                                  serverindex.pos[serverindex.len] = j+1;
                                  serverindex.len++;
                  }
  }
  serverindex.len--;
  ftime(&tp);
  srand(tp.millitm);
  randj = (serverindex.len*1.0)*rand()/(RAND_MAX+1.0);

  memcpy(randarr, serverindex.pos + randj, 4 * (serverindex.len - randj));
  memcpy(randarr + (serverindex.len-randj), serverindex.pos, (randj) * 4);

for (j=0; j < serverindex.len; j++)
  {
          doit(servers.s + randarr[j]);
  }
                                                  

  _exit(lasterror);
}





Jay,

If I understand this correctly, then I think there is a flaw in this type
of random round robin. I think I can best describe it with an example.

Assume you have 4 servers A, B, C, D, and that server C is down. When your
random seed hits server A, B or D (with probability 1/4, respectively) the
message will go through fine. When your random seeds hits server C (again
with p=1/4), you will realize that it is down and proceed to D. So in
effect you will hit servers A and B with probability 1/4 each, and server D
with probability 1/2. This is not very good load balancing, because
basically the load of the server that's down is inherited by the next
server, which is not what you set out to accomplish.

With simple, non-random round-robin, when ever you hit server C, you will
skip it and go to server D. The next message will go to server A, the next
to B, etc... Thus, the probability of hitting server D is 1/3 (as well as A
and B).

All this rests on my interpretation of what you have done, since I am not
familiar with the code.

JES

Austad, Jay writes:

> Ok, I fixed it.  It now just rotates the serverindex.pos[] by a random
> amount, and then loops through until it finds a good server. rand() is still
> seeded with milliseconds from the system clock.  I used memcpy() to move the
> array around instead of loops to make it more efficient.
> 
> Would it be possible to run qmqpc as some sort of daemon?  Then it could
> have memory of which server it contacted last and make sure it went to the
> next one, instead of having the chance of picking the same one again.
> 
> Jay
> 
> 
> 
> #include <sys/types.h>
> #include <string.h>
> #include <memory.h>
> #include <sys/socket.h>
> #include <stddef.h>
> #include <netinet/in.h>
> #include <arpa/inet.h>
> #include <stdlib.h>
> #include <sys/time.h>
> #include <sys/timeb.h>
> #include "substdio.h"
> #include "getln.h"
> #include "readwrite.h"
> #include "exit.h"
> #include "stralloc.h"
> #include "slurpclose.h"
> #include "error.h"
> #include "sig.h"
> #include "ip.h"
> #include "timeoutconn.h"
> #include "timeoutread.h"
> #include "timeoutwrite.h"
> #include "auto_qmail.h"
> #include "control.h"
> #include "fmt.h"
> 
> #define PORT_QMQP 628
> 
> void die_success() { _exit(0); }
> void die_perm() { _exit(31); }
> void nomem() { _exit(51); }
> void die_read() { if (errno == error_nomem) nomem(); _exit(54); }
> void die_control() { _exit(55); }
> void die_socket() { _exit(56); }
> void die_home() { _exit(61); }
> void die_temp() { _exit(71); }
> void die_conn() { _exit(74); }
> void die_format() { _exit(91); }
> 
> int lasterror = 55;
> int qmqpfd;
> 
> int saferead(fd,buf,len) int fd; char *buf; int len;
> {
>   int r;
>   r = timeoutread(60,qmqpfd,buf,len);
>   if (r <= 0) die_conn();
>   return r;
> }
> int safewrite(fd,buf,len) int fd; char *buf; int len;
> {
>   int r;
>   r = timeoutwrite(60,qmqpfd,buf,len);
>   if (r <= 0) die_conn();
>   return r;
> }
> 
> char buf[1024];
> substdio to = SUBSTDIO_FDBUF(safewrite,-1,buf,sizeof buf);
> substdio from = SUBSTDIO_FDBUF(saferead,-1,buf,sizeof buf);
> substdio envelope = SUBSTDIO_FDBUF(read,1,buf,sizeof buf);
> /* WARNING: can use only one of these at a time! */
> 
> stralloc beforemessage = {0};
> stralloc message = {0};
> stralloc aftermessage = {0};
> 
> char strnum[FMT_ULONG];
> stralloc line = {0};
> 
> struct sindex
> {
>               int pos[256];
>               int len;
> };
> 
> void getmess()
> {
>   int match;
> 
>   if (slurpclose(0,&message,1024) == -1) die_read();
> 
>   strnum[fmt_ulong(strnum,(unsigned long) message.len)] = 0;
>   if (!stralloc_copys(&beforemessage,strnum)) nomem();
>   if (!stralloc_cats(&beforemessage,":")) nomem();
>   if (!stralloc_copys(&aftermessage,",")) nomem();
> 
>   if (getln(&envelope,&line,&match,'\0') == -1) die_read();
>   if (!match) die_format();
>   if (line.len < 2) die_format();
>   if (line.s[0] != 'F') die_format();
> 
>   strnum[fmt_ulong(strnum,(unsigned long) line.len - 2)] = 0;
>   if (!stralloc_cats(&aftermessage,strnum)) nomem();
>   if (!stralloc_cats(&aftermessage,":")) nomem();
>   if (!stralloc_catb(&aftermessage,line.s + 1,line.len - 2)) nomem();
>   if (!stralloc_cats(&aftermessage,",")) nomem();
> 
>   for (;;) {
>     if (getln(&envelope,&line,&match,'\0') == -1) die_read();
>     if (!match) die_format();
>     if (line.len < 2) break;
>     if (line.s[0] != 'T') die_format();
> 
>     strnum[fmt_ulong(strnum,(unsigned long) line.len - 2)] = 0;
>     if (!stralloc_cats(&aftermessage,strnum)) nomem();
>     if (!stralloc_cats(&aftermessage,":")) nomem();
>     if (!stralloc_catb(&aftermessage,line.s + 1,line.len - 2)) nomem();
>     if (!stralloc_cats(&aftermessage,",")) nomem();
>   }
> }
> 
> void doit(server)
> char *server;
> {
>   struct ip_address ip;
>   char ch;
> 
>   if (!ip_scan(server,&ip)) return;
> 
>   qmqpfd = socket(AF_INET,SOCK_STREAM,0);
>   if (qmqpfd == -1) die_socket();
> 
>   if (timeoutconn(qmqpfd,&ip,PORT_QMQP,10) != 0) {
>     lasterror = 73;
>     if (errno == error_timeout) lasterror = 72;
>     close(qmqpfd);
>     return;
>   }
> 
>   strnum[fmt_ulong(strnum,(unsigned long) (beforemessage.len + message.len +
> aftermessage.len))] = 0;
>   substdio_puts(&to,strnum);
>   substdio_puts(&to,":");
>   substdio_put(&to,beforemessage.s,beforemessage.len);
>   substdio_put(&to,message.s,message.len);
>   substdio_put(&to,aftermessage.s,aftermessage.len);
>   substdio_puts(&to,",");
>   substdio_flush(&to);
> 
>   for (;;) {
>     substdio_get(&from,&ch,1);
>     if (ch == 'K') die_success();
>     if (ch == 'Z') die_temp();
>     if (ch == 'D') die_perm();
>   }
> }
> 
> stralloc servers = {0};
> 
> main()
> {
>   int i;
>   int j;
>   int randj;
>   int randarr[256];
>   struct timeb tp;
>   struct sindex serverindex;
>   
>   sig_pipeignore();
> 
>   if (chdir(auto_qmail) == -1) die_home();
>   if (control_init() == -1) die_control();
>   if (control_readfile(&servers,"control/qmqpservers",0) != 1)
> die_control();
> 
>   getmess();
>   serverindex.len = 1;
>   serverindex.pos[0]=0;
>   for (j = 0; j < servers.len; j++)
>   {
>                 if (servers.s[j] == NULL) {
>                                 serverindex.pos[serverindex.len] = j+1;
>                                 serverindex.len++;
>                 }
>   }
>   serverindex.len--;
>   ftime(&tp);
>   srand(tp.millitm);
>   randj = (serverindex.len*1.0)*rand()/(RAND_MAX+1.0);
> 
>   memcpy(randarr, serverindex.pos + randj, 4 * (serverindex.len - randj));
>   memcpy(randarr + (serverindex.len-randj), serverindex.pos, (randj) * 4);
> 
> for (j=0; j < serverindex.len; j++)
>   {
>         doit(servers.s + randarr[j]);
>   }
>                                                 
> 
>   _exit(lasterror);
> }
> 







You are correct.  However, since qmail-qmqpc does not continually run, it is
not possible to do a non-random round robin (as far as I know).  If qmqpc
could be turned into a process that ran continuously, it would be possible
to do regular round-robin and there would be no need for the random stuff at
all, this may also increase performance because it wouldn't have to read
/var/qmail/control/qmqpservers every time it started.  I haven't looked at
it, but does qmail-inject work by just piping it's data into qmail-queue
(qmail-queue is a link to qmail-qmqpc in a mini-qmail setup)?  If so,
couldn't qmail-queue be turned into a named pipe, and qmqpc could be
modified slightly to continously run and wait for input on that named pipe?
Just a random thought.  Of course, I'm not a programmer and I may not have
any idea what the hell I'm talking about. :)

This approach that I'm using obviously isn't going to spread the load
between servers exactly evenly, but it should be close enough when mailing
large amounts of mail, unless one qmqp server dies.  However, our qmqp
servers have port 628 for QMQP monitored closely and I'll get paged within a
couple of minutes if it goes down, so I'm not too worried about it.  I guess
I could redo it so instead of just rotating the array by a random number, it
would shuffle it it randomly.  That would keep it from banging on the server
immediately after the dead one, and give everything an even chance again.

Jay

-----Original Message-----
From: JuanE [mailto:[EMAIL PROTECTED]]
Sent: Tuesday, August 01, 2000 6:57 PM
To: [EMAIL PROTECTED]
Subject: Re: updated load balancing qmail-qmqpc.c mods



Jay,

If I understand this correctly, then I think there is a flaw in this type
of random round robin. I think I can best describe it with an example.

Assume you have 4 servers A, B, C, D, and that server C is down. When your
random seed hits server A, B or D (with probability 1/4, respectively) the
message will go through fine. When your random seeds hits server C (again
with p=1/4), you will realize that it is down and proceed to D. So in
effect you will hit servers A and B with probability 1/4 each, and server D
with probability 1/2. This is not very good load balancing, because
basically the load of the server that's down is inherited by the next
server, which is not what you set out to accomplish.

With simple, non-random round-robin, when ever you hit server C, you will
skip it and go to server D. The next message will go to server A, the next
to B, etc... Thus, the probability of hitting server D is 1/3 (as well as A
and B).

All this rests on my interpretation of what you have done, since I am not
familiar with the code.

JES

Austad, Jay writes:

> Ok, I fixed it.  It now just rotates the serverindex.pos[] by a random
> amount, and then loops through until it finds a good server. rand() is
still
> seeded with milliseconds from the system clock.  I used memcpy() to move
the
> array around instead of loops to make it more efficient.
> 
> Would it be possible to run qmqpc as some sort of daemon?  Then it could
> have memory of which server it contacted last and make sure it went to the
> next one, instead of having the chance of picking the same one again.
> 
> Jay
> 
> 
> 
> #include <sys/types.h>
> #include <string.h>
> #include <memory.h>
> #include <sys/socket.h>
> #include <stddef.h>
> #include <netinet/in.h>
> #include <arpa/inet.h>
> #include <stdlib.h>
> #include <sys/time.h>
> #include <sys/timeb.h>
> #include "substdio.h"
> #include "getln.h"
> #include "readwrite.h"
> #include "exit.h"
> #include "stralloc.h"
> #include "slurpclose.h"
> #include "error.h"
> #include "sig.h"
> #include "ip.h"
> #include "timeoutconn.h"
> #include "timeoutread.h"
> #include "timeoutwrite.h"
> #include "auto_qmail.h"
> #include "control.h"
> #include "fmt.h"
> 
> #define PORT_QMQP 628
> 
> void die_success() { _exit(0); }
> void die_perm() { _exit(31); }
> void nomem() { _exit(51); }
> void die_read() { if (errno == error_nomem) nomem(); _exit(54); }
> void die_control() { _exit(55); }
> void die_socket() { _exit(56); }
> void die_home() { _exit(61); }
> void die_temp() { _exit(71); }
> void die_conn() { _exit(74); }
> void die_format() { _exit(91); }
> 
> int lasterror = 55;
> int qmqpfd;
> 
> int saferead(fd,buf,len) int fd; char *buf; int len;
> {
>   int r;
>   r = timeoutread(60,qmqpfd,buf,len);
>   if (r <= 0) die_conn();
>   return r;
> }
> int safewrite(fd,buf,len) int fd; char *buf; int len;
> {
>   int r;
>   r = timeoutwrite(60,qmqpfd,buf,len);
>   if (r <= 0) die_conn();
>   return r;
> }
> 
> char buf[1024];
> substdio to = SUBSTDIO_FDBUF(safewrite,-1,buf,sizeof buf);
> substdio from = SUBSTDIO_FDBUF(saferead,-1,buf,sizeof buf);
> substdio envelope = SUBSTDIO_FDBUF(read,1,buf,sizeof buf);
> /* WARNING: can use only one of these at a time! */
> 
> stralloc beforemessage = {0};
> stralloc message = {0};
> stralloc aftermessage = {0};
> 
> char strnum[FMT_ULONG];
> stralloc line = {0};
> 
> struct sindex
> {
>               int pos[256];
>               int len;
> };
> 
> void getmess()
> {
>   int match;
> 
>   if (slurpclose(0,&message,1024) == -1) die_read();
> 
>   strnum[fmt_ulong(strnum,(unsigned long) message.len)] = 0;
>   if (!stralloc_copys(&beforemessage,strnum)) nomem();
>   if (!stralloc_cats(&beforemessage,":")) nomem();
>   if (!stralloc_copys(&aftermessage,",")) nomem();
> 
>   if (getln(&envelope,&line,&match,'\0') == -1) die_read();
>   if (!match) die_format();
>   if (line.len < 2) die_format();
>   if (line.s[0] != 'F') die_format();
> 
>   strnum[fmt_ulong(strnum,(unsigned long) line.len - 2)] = 0;
>   if (!stralloc_cats(&aftermessage,strnum)) nomem();
>   if (!stralloc_cats(&aftermessage,":")) nomem();
>   if (!stralloc_catb(&aftermessage,line.s + 1,line.len - 2)) nomem();
>   if (!stralloc_cats(&aftermessage,",")) nomem();
> 
>   for (;;) {
>     if (getln(&envelope,&line,&match,'\0') == -1) die_read();
>     if (!match) die_format();
>     if (line.len < 2) break;
>     if (line.s[0] != 'T') die_format();
> 
>     strnum[fmt_ulong(strnum,(unsigned long) line.len - 2)] = 0;
>     if (!stralloc_cats(&aftermessage,strnum)) nomem();
>     if (!stralloc_cats(&aftermessage,":")) nomem();
>     if (!stralloc_catb(&aftermessage,line.s + 1,line.len - 2)) nomem();
>     if (!stralloc_cats(&aftermessage,",")) nomem();
>   }
> }
> 
> void doit(server)
> char *server;
> {
>   struct ip_address ip;
>   char ch;
> 
>   if (!ip_scan(server,&ip)) return;
> 
>   qmqpfd = socket(AF_INET,SOCK_STREAM,0);
>   if (qmqpfd == -1) die_socket();
> 
>   if (timeoutconn(qmqpfd,&ip,PORT_QMQP,10) != 0) {
>     lasterror = 73;
>     if (errno == error_timeout) lasterror = 72;
>     close(qmqpfd);
>     return;
>   }
> 
>   strnum[fmt_ulong(strnum,(unsigned long) (beforemessage.len + message.len
+
> aftermessage.len))] = 0;
>   substdio_puts(&to,strnum);
>   substdio_puts(&to,":");
>   substdio_put(&to,beforemessage.s,beforemessage.len);
>   substdio_put(&to,message.s,message.len);
>   substdio_put(&to,aftermessage.s,aftermessage.len);
>   substdio_puts(&to,",");
>   substdio_flush(&to);
> 
>   for (;;) {
>     substdio_get(&from,&ch,1);
>     if (ch == 'K') die_success();
>     if (ch == 'Z') die_temp();
>     if (ch == 'D') die_perm();
>   }
> }
> 
> stralloc servers = {0};
> 
> main()
> {
>   int i;
>   int j;
>   int randj;
>   int randarr[256];
>   struct timeb tp;
>   struct sindex serverindex;
>   
>   sig_pipeignore();
> 
>   if (chdir(auto_qmail) == -1) die_home();
>   if (control_init() == -1) die_control();
>   if (control_readfile(&servers,"control/qmqpservers",0) != 1)
> die_control();
> 
>   getmess();
>   serverindex.len = 1;
>   serverindex.pos[0]=0;
>   for (j = 0; j < servers.len; j++)
>   {
>                 if (servers.s[j] == NULL) {
>                                 serverindex.pos[serverindex.len] = j+1;
>                                 serverindex.len++;
>                 }
>   }
>   serverindex.len--;
>   ftime(&tp);
>   srand(tp.millitm);
>   randj = (serverindex.len*1.0)*rand()/(RAND_MAX+1.0);
> 
>   memcpy(randarr, serverindex.pos + randj, 4 * (serverindex.len - randj));
>   memcpy(randarr + (serverindex.len-randj), serverindex.pos, (randj) * 4);
> 
> for (j=0; j < serverindex.len; j++)
>   {
>         doit(servers.s + randarr[j]);
>   }
>                                                 
> 
>   _exit(lasterror);
> }
> 






"Austad, Jay" <[EMAIL PROTECTED]> writes:
> From: JuanE [mailto:[EMAIL PROTECTED]]
>> Assume you have 4 servers A, B, C, D, and that server C is down. When your
>> random seed hits server A, B or D (with probability 1/4, respectively) the
>> message will go through fine. When your random seeds hits server C (again
>> with p=1/4), you will realize that it is down and proceed to D. So in
>> effect you will hit servers A and B with probability 1/4 each, and server D
>> with probability 1/2. This is not very good load balancing, because

> You are correct.  However, since qmail-qmqpc does not continually run, it is
> not possible to do a non-random round robin (as far as I know).

Choose a permutation of the server list at random.  Then step through
this list until you hit a good server or exhaust the list.

 1. A B C D
 2. A B D C
 3. A C B D
 4. A C D B
 ....
24. D C B A

If your random number is 4, you try A, then C, then D and finally B.

If the number of servers is reasonably small, say up to 7, you could
enumerate all permutations as a static array in the code and then use
a random index into the array to determine the order.  Generating a
random permutation algorithmically is not too easy.  You can either
approximate by shuffling or make a direct choice using some bignum
arithmetic described in "Permutation Generation Methods", Robert
Sedgewick, Computing Surveys, Vol. 9, No. 2, June 1997.

-- 
Frank Cringle,      [EMAIL PROTECTED]
voice: (+49 2304) 467101; fax: 943357




 
    Im setting a mailing list system that will require a VERY good
performance. After search for a lot of options, Ive decided to use qmail
because I think it is the most quick and configurable MTA.
    Im wondering what can I change to improve the performance of my
mailing list, I already read the documentation and found a lot of thinks
like the number of paralell proccess and other things.
    I really need a great performance in this mailing list, so I would
like to know some tips and the best mailing list manager to use. I would
like to know also some statistics of performance in mailing list using
qmail....

    Best Regards,

-- 
_________________________
Fernando Costa de Almeida
ICQ - 72293951
 




    Sorry about the subject of my last mesg, this was a copy and
paste!!!!

    :-)

--
_________________________
Fernando Costa de Almeida
ICQ - 72293951






I setup qmail on a small dialup machine. All local mail is delivered normally and mail 
to the internet is relayed to smtp.my.provider.com.
My smtproutes contains the line

:smtp.my.provider.com

The problem is, that the smtp server of my provider checks the From address (or the 
domain part of it?). My hostname is myhost.local. Local mail is delivered as 
[EMAIL PROTECTED] as it should be. But mail, which is relayed to smtp.my.provider.com 
is delivered as [EMAIL PROTECTED], too. I get the following errors in syslog:

delivery 23: failure: 
Connected_to_smtp.my.provider.com_but_sender_was_rejected./Remote_host_said:_501_Sorry,_<[EMAIL PROTECTED]>_not_authorized./

Is there a way, how I could change the From-address from [EMAIL PROTECTED] to 
[EMAIL PROTECTED]? The From-address should only be changed for mail to the 
internet. Local mail should still be delivered as [EMAIL PROTECTED]


Thanks in advance,
Moritz
_______________________________________________________________________
1.000.000 DM gewinnen - kostenlos tippen - http://millionenklick.web.de
[EMAIL PROTECTED], 8MB Speicher, Verschluesselung - http://freemail.web.de





* Moritz Jodeit <[EMAIL PROTECTED]> writes:
> Is there a way, how I could change the From-address from
> [EMAIL PROTECTED] to [EMAIL PROTECTED]? The From-address should
> only be changed for mail to the internet. Local mail should still be
> delivered as [EMAIL PROTECTED]

,----[ /var/qmail/doc/FAQ ]
| 2.4. How do I set up a separate queue for a SLIP/PPP link?
| 
| Answer: Use serialmail (http://pobox.com/~djb/serialmail.html).
`----

Then read about masquerading.
-- 
Robin S. Socha <http://socha.net/>




Is there a RFC 2645 server and client that is compatible with qmail?

        Thanks,

        John

-- 

John Conover        Tel. 408.370.2688  [EMAIL PROTECTED]
631 Lamont Ct.      Cel. 408.772.7733
Campbell, CA 95008  Fax. 408.379.9602  http://www.johncon.com





Is there an easy way to just send to all users in a linux group, instead of having to use an alias file....?
 
 




* Barry Smoke <[EMAIL PROTECTED]> writes:
> 1.  (*) text/plain ( ) text/html
       ^ turn this off

> Is there an easy way to just send to all users in a linux group,
> instead of having to use an alias file....?

,----[ /var/qmail/doc/FAQ ]
| 4.2. How do I set up a mailing list? I'd like [EMAIL PROTECTED] to be
| forwarded to a bunch of people.
| 
| Answer: Put a list of addresses into ~me/.qmail-sos, one per line. Then
| incoming mail for me-sos will be forwarded to each of those addresses.
| You should also touch ~me/.qmail-sos-owner so that bounces come back to
| you rather than the original sender.
| 
| Alternative: ezmlm (http://pobox.com/~djb/ezmlm.html) is a modern
| mailing list manager, supporting automatic subscriptions, confirmations,
| archives, fully automatic bounce handling (including warnings to
| subscribers saying which messages they've missed), and more.
`----
-- 
Robin S. Socha <http://socha.net/>




I installed  ezmlm-0.53 + ezmlm-idx-0.40 on my newly installed
RedHat Linux 6.1, as instructed in INSTALL and INSTALL.idx 
files.  But it wouldn't work.

I run "qmail-inject joe-testlist < mail.file" and the post did not reach 
the subscribers in the list.

I run "ezmlm-send ~/testlist < mail.file" and it will cause segmentation 
fault and core dump.

If I installed ezmlm-0.53 without ezmlm-idx-0.40, everything works fine.

Did I do anything wrong? Or ezmlm-idx-0.40 is unstable?
I really want the QMQP load-balancing support in ezmlm-idx-0.40. 






On Wed, 2 Aug 2000, &6*B06 wrote:

> I run "ezmlm-send ~/testlist < mail.file" and it will cause
> segmentation fault and core dump.

ezmlm-send, I've found, will dump core if you don't set the SENDER
environment varible.
 
       ezmlm-send does not distribute  bounce  messages:  if  the
       environment variable SENDER is set, and is either empty or
       #@[], ezmlm-send rejects the message.

I suppose it could pick a nicer way of rejecting the message, but a 
coredump will definitely reject your message... ;-)

Later,
Paul
    ----------------------------------------------------------------------
    J. Paul Reed                [EMAIL PROTECTED] || web.sigkill.com/preed
    If you put a gun to my head and said  "Name ten great bands that have 
    come out in the last 5 years," you'd be wiping my brains off the wall.
                                                           -- Trent Reznor





I am trying to get qmail-smtpd-auth working but I do not think tcpserver is
passing the parameters to qmail-smtpd
The example given in the instructions is for inetd and im not sure if you
can just pass parameters at the end of the tcpserver line...
/usr/local/bin/tcpserver -x/etc/tcp.smtp.cdb -u1003 -g100 0 smtp
/var/qmail/bin/qmail-smtpd /bin/checkpassword /bin/true /bin/cmd5checkpw
/bin/true &

Basically I cannot get MS outlook to successfully authenticate and when I
telnet to port 25 I get the expected responses from the AUTH command.
The checkpassword command is working fine because pop uses it.
Tcpserver is the only difference to the instructions I have followed.
Any help would be much appreciated.

Thanks
Martin

Martin Searancke
CommSoft Group Ltd.
Level 8, CommSoft House
90 Symonds St
Auckland, New Zealand

[EMAIL PROTECTED]
+64 21 778592






On Sun, Jul 30, 2000 at 08:26:59PM +0200, Peter van Dijk wrote:

Hi Peter,

> > a script to move the larger mail into a seperate IP and then login
> > to that IP and get the bigger mail at night ?
> > or have you something else in mind. 

> When you run 'maildirsmtp', that in turn runs maildirserial which runs
> tcpclient which runs serialsmtp.
> Changing maildirsmtp's operation to, for  example, handling bigger messages
> in a separate thread, would only require patching/replacing maildirserial
> to spawn two tcpclient+serialsmtp's instead of one. Filtering at delivery
> seems useless to me because that would mean you spread your mail over 2
> Maildirs.  

Fortunately or unfortunately I am not able to generate a patch like that.
If someone would like to help with a patch then I would like to test it
out, but writing it, that I could not do.

What I have done for the time being and it works me as a stop gap till
further things are developed.

Thanks for you tips, and please let me know what you come up with.

Jacob
Sri Lanka

------------------------------------------------------
/etc/ppp/ip-up.local.small
--------------------------
#!/bin/sh

# this script is running during Day time

# this will move large messages to the /var/qmail/alias/pppdir2 directory
find /var/qmail/alias/pppdir/ -size +30 -exec mv {} /var/qmail/alias/pppdir2/new/ \;

# This will send and recive mail the moment the ppp connection is up
# To close the ppp connection when there is no more activity.
# you put idle -25 in an option file called option.autoturn

PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin
export PATH
maildirsmtp ~alias/pppdir alias-ppp- 203.115.29.130 metta.lk

------------------------------------------------------------
/etc/ppp/ip-up.local.large
--------------------------
#!/bin/sh

# this script is run at Night.

# this will move large messages to the /var/qmail/alias/pppdir2 directory
mv /var/qmail/alias/pppdir2/new/* /var/qmail/alias/pppdir/new

# This will send and recive mail the moment the ppp connection is up
PATH=/var/qmail/bin:/bin:/usr/bin:/usr/local/sbin:/usr/local/bin
export PATH
maildirsmtp ~alias/pppdir alias-ppp- 203.115.29.130 metta.lk

--------------------------------------------------------------
/var/spool/cron/root
--------------------------
1 5 * * * cp -f /etc/ppp/ip-up.local.small /etc/ppp/ip-up.local
1 22 * * * cp -f /etc/ppp/ip-up.local.large /etc/ppp/ip-up.local

I have done something similar on the incoming server side.
My OS's are Redhat 6.0

-- 
 A saying of the Buddha from http://metta.lk/ 
 -------------------------------------------- 
Having slain mother (craving) and father (conceit) and two warrior kings (views based 
on eternalism and nihilism), and having destroy a country (sense-avenues and 
sense-objects) together with its revenue officer (attachment), ungrieving goes the 
Brahmana (Arahant). 
Random Dhammapada Verse 294 
 




真诚的感谢您的回答,有时间到黄山来,一定三陪:吃,喝,玩.近日若有时间,能否亲自到合肥来一趟,费用一切有我们包,黄山在内.能否把编译好的qmail+mysql或改动好的qmail+mysql的原程序发给我们!
  再次邀请您的光临.
 
 
                安徽农网(www.ahnw.gov.cn)
 




Hi all

Our institutes mailserver was made a qmqpserver yesterday. As I 
changed my workstaion to use qmqpc to queue the outgoing mails on 
the mailserver I produced a mailloop. Due to the mailaddresses I
collected over time I forward all to our universities central mail
server and use fetchmail to get them to my workstation. Maildrop
sorts the mail and uses qmail as local delivery agent. At this
point it queues the mail again to the institutes mailserver and
completes the loop:

institutes server --(forward)--> central server --(fetchmail)-->
workstation --(maildrop,qmail)--> institutes server ...

How can I break that loop? My workstations FQDN is in the 
control/locals.

Thanks for your help,

-- 
Oliver Koch                           Registered Linux User 163952
 
"Virtual" means never knowing where your next byte is coming from.






Hi,

Please can someone drop me a hint as to the method of protecting myself from
spam using the rblsmtpd?

Thanks

Slider



Reply via email to