If you have a static IP address, you should not need to adjust anything from the defaults. Set your host name to your assigned Internet name and sendmail will do the rest.
If you have a dynamically assigned IP number and use a
dialup PPP connection to the Internet, you will probably have a
mailbox on your ISPs mail server. Let's assume your ISP's domain
is example.net
, and that your
user name is user
, you have called your
machine bsd.home
, and your ISP has
told you that you may use relay.example.net
as a mail relay.
In order to retrieve mail from your mailbox, you must
install a retrieval agent. The
fetchmail utility is a good choice as
it supports many different protocols. This program is available
as a package or from the Ports Collection (mail/fetchmail). Usually, your ISP will
provide POP. If you are using user PPP, you can
automatically fetch your mail when an Internet connection is
established with the following entry in
/etc/ppp/ppp.linkup
:
MYADDR: !bg su user -c fetchmail
If you are using sendmail (as
shown below) to deliver mail to non-local accounts, you probably
want to have sendmail process your
mailqueue as soon as your Internet connection is established.
To do this, put this command after the
fetchmail
command in
/etc/ppp/ppp.linkup
:
!bg su user -c "sendmail -q"
Assume that you have an account for
user
on bsd.home
. In the home directory of
user
on bsd.home
, create a
.fetchmailrc
file:
poll example.net protocol pop3 fetchall pass MySecret
This file should not be readable by anyone except
user
as it contains the password
MySecret
.
In order to send mail with the correct
from:
header, you must tell
sendmail to use
<user@example.net>
rather than
<user@bsd.home>
. You may also wish to tell
sendmail to send all mail via relay.example.net
, allowing quicker mail
transmission.
The following .mc
file should
suffice:
VERSIONID(`bsd.home.mc version 1.0') OSTYPE(bsd4.4)dnl FEATURE(nouucp)dnl MAILER(local)dnl MAILER(smtp)dnl Cwlocalhost Cwbsd.home MASQUERADE_AS(`example.net')dnl FEATURE(allmasquerade)dnl FEATURE(masquerade_envelope)dnl FEATURE(nocanonify)dnl FEATURE(nodns)dnl define(`SMART_HOST', `relay.example.net') Dmbsd.home define(`confDOMAIN_NAME',`bsd.home')dnl define(`confDELIVERY_MODE',`deferred')dnl
Refer to the previous section for details of how to turn
this .mc
file into a
sendmail.cf
file. Also, do not forget to
restart sendmail after updating
sendmail.cf
.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.