So… I guess I thought I was smart enough to set up a Debian server all by myself… and it looks like I’m not even able to get basic email to work! :roll: Bleh…

I could set up apache, php, mysql and have everything working… but email ? What the hell is going on?

I sorta had exim4 installed automatically while apt-get installing mysql-4.1 . I also installed mutt so I could “read” any mail. But that damn thing won’t save any email to /var/mail !! I think there should be a file named ‘root’ (at least) in there, but there is not.

All I know, is that I can use ‘mail’ to send email to an external machine. But I can’t use mail to send a local mail to root.

I get lines like these in /var/log/exim4/mainlog:

2x0x-05-27 01:18:17 1FjlZR-0007Wy-Gx == /var/mail/mail (root@ns34611.ovh.net) <root@ns0x0x0.ovh.net> R=mail4root T=address_file defer (13): Permission denied: creating lock file hitching post /var/mail/mail.lock.ns0x0x0.ovh.net.0x0x0cb9.0000711b (euid=8 egid=8)

The exim process seems to be running under Debian-exim4 and the permission for ##/var/mail## seems to be ##drwxr-sr-x root root##

Now of course I can make it work by funkying around with the permissions of that folder, but that doesn’t feel right… Besides I wonder what magic that ’s’ is trying to accomplish…

Is there a caring soul out there willing to show me the light? I’m so lost right now… :| Thanx!! ;)

Update:

I think I need to log what I did here… might get useful someday…

First, these are my new ##/var/mail## permissions: ##drwxrwxr-x root mail##

Once that is done, exim will create mail files in the directory and I’m able read them with mutt… for all users, except for root. Because for toot, exim insists on creating a file named ##mail## instead of ##root##. I wonder why…

At that point, comes the whole exim4-conf trouble again. For some subtle reason the exim4 config in Debian is handled in the weirdest way. I might get it some day, but for now I just have to struggle with it… :-/

So I copied ##/var/lib/exim4/config.autogenerated## (the file generated by update-exim4.conf |-|) over to ##/etc/exim4/exim4.conf## and then edited that one, especially this part: mail4root: debug_print = “R: mail4root for $local_part@$domain” driver = redirect domains = +local_domains data = /var/mail/root file_transport = address_file local_parts = root user = mail group = mail

##data = /var/mail/root## here solved my problem.

Update: I think I should be able to make this mod directly in exim4.conf.template so it gets included in the autogeneration.

The funniest part is I didn’t stop there! I moved on to breaking the whole thing again by installing the Courier IMAP server, which needs its mail delivered to ~/Mailbox instead of /var/mail. (Here’s a fairly useful page about this).

That means editing ##/etc/exim4/update-exim4.conf.conf## manually to add this: ##dc_localdelivery=maildir_home##

And then go through the copy ##/var/lib/exim4/config.autogenerated## over to ##/etc/exim4/exim4.conf## again.

The good news is: it finally works! (still gotta check on the ’s’ trick though…)


Comments from long ago:

Comment from: rosy

I read this post and wondering if you could help me in sending mail through php mail function. I tried using command line argument and it works fine. I am using Debian, exim 3.36, php 4, Apache and MySQL. Thanks.

2006-11-16 19-22