Bu makalenin farklı dillerde bulunduğu adresler: English Castellano Deutsch Francais Italiano Nederlands Russian Turkce |
hazirlayan John Perr Yazar Hakkinda: LinuxFocus'un Fransiz editorlerinden biri olan yazar 1994'ten beri Linux kullanmaktadir. Content: |
Ozet:
Bu makalede,PPP üzerinden internete bağlı olan bilgisayarınızda sendmail
ve fetchmail ayarlarini nasil yapacagınız anlatılmaktadır.
Bu tur bir ayarlama ile her tur Unix e-posta istemcisini(Netscape'in
yanısıra) kullanabilirsiniz.PPP baglantısı kurdugunuz andan itibaren e-posta
alısverisinde bulunabilirsiniz.
Posta kutunuza düzgün mail akısıni saglayabilmek icin bir Mail Transfer Agent
(kisaca MTA) kurmanız gerekir. Sendmail en bilineni (ve eskilerden) olmasına
karsın , qmail veya standart Debian surumlerinde yeralan exim gibi kurulumu
daha basit ve hızlı olanları da vardır.
Biz sendmaili ele alacagız ve kurulumda Berkley Universitesi'nden
Eric Allman'in yolunu izleyecegiz.
Geri dönen iletileriniz Internet servis Sağlayıcınızda tutulur. Bu durum
fetchmail için gereklidir. fetchmail pop3 ya da imap ile kullanılır. uucp de
kullanabilirsiniz fakat bu durum, yazının epeyce dışına çıkacaktır.
Sendmail'i kurabilmeniz icin asagıdaki paketleri de yuklemeniz gerekmektedir. (rpm halinde):
Linux dagıtımınıza baglı olarak paketlerin isimleri ve surum numaraları farklı olabilir.Burada gercekten gerekli olanlar ilk iki paketttir.
Sendmail'i uygun sekilde kurabilmek icin asagıdaki adımları izleyiniz:
/usr/lib/sendmail-cf/cf/config.mc
icerigi sunlar olsun:
# start of config.mc include(`../m4/cf.m4')dnl OSTYPE(`linux')dnl define(`SMTP_MAILER_FLAGS', `e9')dnl FEATURE(redirect)dnl FEATURE(nocanonify)dnl FEATURE(always_add_domain)dnl FEATURE(local_procmail)dnl GENERICS_DOMAIN(localhost.localdomain localhost localhost) FEATURE(genericstable) FEATURE(masquerade_envelope)dnl define(`confCF_VERSION',`dede's cf - 22/05/98')dnl define(`confCON_EXPENSIVE',`True')dnl define(`confME_TOO',`True')dnl define(`confCOPY_ERRORS_TO',`Postmaster')dnl define(`confDEF_CHAR_SET',`ISO-8859-1')dnl define(`confMIME_FORMAT_ERRORS',`True')dnl define(`SMART_HOST',`smtp8:[smtp.isp.net]')dnl define(`confTO_QUEUEWARN',`24h') MAILER(local) MAILER(smtp) # End of config.mc |
/etc/genericstable
da yaratın:
dede: [email protected] root: [email protected] news: [email protected] |
/etc/alias
in en azından bunları icerdigine
emin olun:
MAILER-DAEMON: postmaster postmaster: root |
/etc/nsswitch.conf
'u asagıdaki gibi olusturun veya
uyarlayın:
passwd: files shadow: files group: files hosts: files dns services: files networks: files protocols: files rpc: files ethers: files netmasks: files bootparams: files netgroup: publıckey: automount: files aliases: files |
/etc/sendmail.cf
yi asagıdaki gibi olusturun:
m4 config.mc > /etc/sendmail.cf
-rw------- 1 root root 26468 mai 12 22:52 /etc/sendmail.cf
/usr/bin/sendmail -bi -oA/etc/genericstable
/etc/genericstable.db
isimli bir dosya yaratılmıs olmalı
newaliases
/etc/hosts
asagıdakine benzer bir satır icermeli:
127.0.0.1 localhost.localdomain localhost localhost
kill `head -1 /var/run/sendmail.pid`
/usr/bin/sendmail -bd -os
Sendmail icin yapilmasi gerekenler bu kadar.Simdi herseyin dogru isleyip islemedigini kontrol etmeliyiz:
Bunun icin asagidaki satirlari iceren test.mail isimli bir dosya yaratin:
Subject: test local
(compulsory blank line)
|
/usr/bin/sendmail -v dede < test.mail
Asagidaki satirlar ekrana yazilmali:
dede... Connecting to local dede... Sent
mail veya baska bir mail istemciyi (netscape'i degil!!) calistirin ve mesajin alinip alinmadigini kontrol edin
Yerel maillerinizi(sendmail tarafindan sunulanlari) Netscape ile okuyabilmek icin:
Edit/Preferences/Mail & Groups/Mail Server
menusune gidin
Outgoing mail (SMTP) server
bolumune localhost.localdomain
yazin
Mail server type
'i movemail/built-in
olarak secin
/var/spool/mail
'in haklarini
chmod 1777 /var/spool/mail
ile degistirin.
Su andan itibaren kendi PCniz Internet'e bagli olmasaniz bile Netscape'e dogrudan mail sunabilir durumdadir. Ayrica XFmail, emacs, mutt, pine v.b. mail istemcileri de kullanabilirsiniz.
Before we try our new mail server on the Internet, we need to configure fetchmail in
order to tranfert messages stored in your mailboxes of your ISP:
create a file .fetchmailrc in /home/dede:
poll pop.isp.net protocol POP3 user toto is dede password XXXXXXX |
where toto and XXXXX are the login and password of your mail account at
pop.isp.net. If you have more than one mailbox, just duplicate the above lines
for each mailbox you have.
The file .fetchmailrc must have permissions set as follow, otherwise fetchmail will
refuse to run:
-rw------- 1 dede dede 189 oct 6 21:45 /home/dede/.fetchmailrc
Now, for a test on the Internet:
mailq
Next, connect to your ISP (isp.net) and send the message:
/usr/bin/sendmail -q
sendmail -q flushes the mail queue of sendmail and causes it to send out the
mail now. Wait for a while and type fetchmail
to get your mail,
you should have a message sent back by the mirror. You can now disconnect if all the messages
have arrived.
Once all is setup, we still have to make it work on its own each time a connection is
established.
With PPP, files /etc/ppp/ip-up and ip-down are executed each time you
connect or disconnect. Check that you have a line like this one in these files,
otherwise create it:
[ -x /etc/ppp/ip-down.local ] && /etc/ppp/ip-down.local $*
In /etc/ppp/ip-up you add:
[ -x /etc/ppp/ip-up.local ] && /etc/ppp/ip-up.local $*
Files /etc/ppp/ip-up and ip-down then lauch files ip-up.local and ip-down.local that we wrtite like this:
#!/bin/bash # /etc/ppp/ip-up.local #Record connection parameters echo `date` $4 $5 ppp-on >> /etc/ppp/history tail -n 1 connect-errors >> /etc/ppp/history # Send waiting mail echo Sending mail... > /dev/console /usr/sbin/sendmail -q echo Mail sent. > /dev/console # Get mail waiting on the pop server echo Getting mail... > /dev/console fetchmail > /dev/console 2>&1 echo Got mail. > /dev/console #End exit 0 # end of /etc/ppp/ip-up.local |
In fact, the two important lines are commands sendmail -q and fetchmail. The others are cosmetic and allow:
#!/bin/bash # /etc/ppp/ip-down.local #Record connection parameters echo `date` ppp-off >> /etc/ppp/history #end exit 0 # end of /etc/ppp/ip-down.local |
These files are run as root
, so it is necessary to copy the file
.fetchmailrc
in the /root
folder.
If you have a permanent access to the Internet, sendmail regularly sends mail if it
has been started as a daemon with the following command:
sendmail -bd -q10m
In order to send your mail every 10 minutes for exemple.
fetchmail can also be lauched in daemon mode with the command:
fetchmail -d 600
In order to retreive your incoming mail every 10 minutes (600 seconds) for instance.
Usually this type of commands are located in the startup (or init) files in
the directory /etc/rc
or /etc/rc.d/
(may vary according to your configuration).
With such a configuration, the outgoing mail waiting in the queue
(mailq
) is sent. The incoming mail waiting in your mailbox on the
server of your ISP arrives. You can use xbiff or xmailbox or any other similar software
to warn you that you have mail. You can also fine tune the way your mail is sorted and
filtered with procmail. This last step is explained in the
Novembre 1997 article from Angel Lopez.
|
Webpages maintained by the LinuxFocus Editor team
© John Perr LinuxFocus.org 2000 Click here to report a fault or send a comment to Linuxfocus |
Translation information:
|
2000-05-03, generated by lfparser version 1.5