# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR The FreeBSD Project # This file is distributed under the same license as the FreeBSD Documentation package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: FreeBSD Documentation VERSION\n" "POT-Creation-Date: 2025-11-08 16:17+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: YAML Front Matter: description #: documentation/content/en/books/handbook/mail/_index.adoc:1 #, no-wrap msgid "This chapter provides a basic introduction to running a mail server on FreeBSD, as well as an introduction to sending and receiving email using FreeBSD" msgstr "" #. type: YAML Front Matter: part #: documentation/content/en/books/handbook/mail/_index.adoc:1 #, no-wrap msgid "IV. Network Communication" msgstr "" #. type: YAML Front Matter: title #: documentation/content/en/books/handbook/mail/_index.adoc:1 #, no-wrap msgid "Chapter 31. Electronic Mail" msgstr "" #. type: Title = #: documentation/content/en/books/handbook/mail/_index.adoc:15 #, no-wrap msgid "Electronic Mail" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/mail/_index.adoc:53 #, no-wrap msgid "Synopsis" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:58 msgid "" "\"Electronic Mail\", better known as email, is one of the most widely used " "forms of communication today. This chapter provides a basic introduction to " "running a mail server on FreeBSD, as well as an introduction to sending and " "receiving email using FreeBSD. For a complete coverage of this subject, " "refer to the books listed in " "crossref:bibliography[bibliography,Bibliography]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:60 msgid "This chapter covers:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:62 msgid "" "Which software components are involved in sending and receiving electronic " "mail." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:63 msgid "How to configure DragonFly Mail Agent." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:64 msgid "Where basic Sendmail configuration files are located in FreeBSD." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:65 msgid "The difference between remote and local mailboxes." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:66 msgid "" "How to install and configure an alternate Mail Transfer Agent, replacing " "DragonFly Mail Agent or Sendmail." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:67 msgid "How to troubleshoot common mail server problems." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:68 msgid "How to configure Sendmail to only send mail." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:69 msgid "How to configure SMTP authentication for added security in Sendmail." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:70 msgid "" "How to install and use a Mail User Agent, such as mutt, to send and receive " "email." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:71 msgid "How to download mail from a remote POP or IMAP server." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:72 msgid "How to automatically apply filters and rules to incoming email." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/mail/_index.adoc:74 #, no-wrap msgid "Mail Components" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:78 msgid "" "There are five major parts involved in an email exchange: the Mail User " "Agent (MUA), the Mail Transfer Agent (MTA), a mail host, a remote or local " "mailbox, and DNS. This section provides an overview of these components." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/mail/_index.adoc:79 #, no-wrap msgid "Mail User Agent (MUA)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:86 msgid "" "The Mail User Agent (MUA) is an application which is used to compose, send, " "and receive emails. This application can be a command line program, such as " "the built-in `mail` utility or a third-party application from the Ports " "Collection, such as alpine, elm, or mutt. Dozens of graphical programs are " "also available in the Ports Collection, including Claws Mail, Evolution, and " "Thunderbird. Some organizations provide a web mail program which can be " "accessed through a web browser. More information about installing and using " "a MUA on FreeBSD can be found in crossref:mail[mail-agents, Mail User " "Agents]." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/mail/_index.adoc:87 #, no-wrap msgid "Mail Transfer Agent (MTA)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:91 msgid "" "The Mail Transfer Agent (MTA) is responsible for receiving incoming mail and " "delivering outgoing mail. Starting with FreeBSD version 14.0, the default " "MTA is DragonFly Mail Agent (man:dma[8]); in earlier versions, it is " "man:sendmail[8]. Other MTAs, including Exim, Postfix, and qmail, may be " "installed to replace the default MTA." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/mail/_index.adoc:92 #, no-wrap msgid "Mail Host and Mailboxes" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:97 msgid "" "The mail host is a server that is responsible for delivering and receiving " "mail for a host or a network. The mail host collects all mail sent to the " "domain and stores it either in the default `mbox` or the alternative Maildir " "format, depending on the configuration. Once mail has been stored, it may " "either be read locally using a MUA or remotely accessed and collected using " "protocols such as POP or IMAP. If mail is read locally, a POP or IMAP " "server does not need to be installed." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/mail/_index.adoc:98 #, no-wrap msgid "Domain Name System (DNS)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:102 msgid "" "The Domain Name System (DNS) and its daemon man:named[8] play a large role " "in the delivery of mail. In order to deliver mail from one site to another, " "the MTA will look up the remote site in DNS to determine which host will " "receive mail for the destination. This process also occurs when mail is " "sent from a remote host to the MTA." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/mail/_index.adoc:104 #, no-wrap msgid "DragonFly Mail Agent (DMA)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:110 msgid "" "DragonFly Mail Agent (DMA) is the default MTA in FreeBSD starting with " "version 14.0. man:dma[8] is a small Mail Transport Agent (MTA), designed " "for home and office use. It accepts mails from locally installed Mail User " "Agents (MUA) and delivers the mails either locally or to a remote " "destination. Remote delivery includes several features like TLS/SSL support " "and SMTP authentication." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:113 msgid "" "man:dma[8] is not intended as a replacement for real, big MTAs like " "man:sendmail[8] or man:postfix[1]. Consequently, man:dma[8] does not listen " "on port 25 for incoming connections." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/mail/_index.adoc:115 #, no-wrap msgid "Configuring DragonFly Mail Agent (DMA)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:119 msgid "" "DMA comes with a default configuration that will be suitable for many " "deployments. Custom settings are defined in [.filename]#/etc/dma/dma.conf#, " "and SMTP authentication is configured in [.filename]#/etc/dma/auth.conf#." msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/mail/_index.adoc:121 #, no-wrap msgid "Using DMA to Route Outgoing Mail through Gmail (STARTTLS:SMTP example)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:124 msgid "" "This example [.filename]#/etc/dma/dma.conf# can be used to send mail using " "Google's SMTP servers." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:133 #, no-wrap msgid "" "SMARTHOST smtp.gmail.com\n" "PORT 587\n" "AUTHPATH /etc/dma/auth.conf\n" "SECURETRANSFER\n" "STARTTLS\n" "MASQUERADE username@gmail.com\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:136 #: documentation/content/en/books/handbook/mail/_index.adoc:170 #: documentation/content/en/books/handbook/mail/_index.adoc:198 msgid "" "Authentication can be set with one line in [.filename]#/etc/dma/auth.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:140 #, no-wrap msgid "username@gmail.com|smtp.gmail.com:password\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/mail/_index.adoc:146 msgid "" "With enabled 2-factor authentication a generated application-specific " "password as the normal login password will be rejected. See Google " "documentation for more information on https://myaccount.google.com/" "apppasswords[app-specific passwords]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:149 #: documentation/content/en/books/handbook/mail/_index.adoc:177 #: documentation/content/en/books/handbook/mail/_index.adoc:205 msgid "Execute the following command to test the configuration:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:153 #, no-wrap msgid "% echo this is a test | mail -v -s testing-email username@gmail.com\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/mail/_index.adoc:156 #, no-wrap msgid "Using DMA to Route Outgoing Mail through Fastmail (SSL/TLS example)" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:159 msgid "" "This example [.filename]#/etc/dma/dma.conf# can be used to send mail using " "Fastmail's SMTP servers." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:167 #, no-wrap msgid "" "SMARTHOST smtp.fastmail.com\n" "PORT 465\n" "AUTHPATH /etc/dma/auth.conf\n" "SECURETRANSFER\n" "MAILNAME example.server.com\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:174 #, no-wrap msgid "username@fastmail.com|smtp.fastmail.com:password\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:181 #, no-wrap msgid "% echo this is a test | mail -v -s testing-email username@fastmail.com\n" msgstr "" #. type: Title ==== #: documentation/content/en/books/handbook/mail/_index.adoc:184 #, no-wrap msgid "Using DMA to Route Outgoing Mail through a Custom Mail Host" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:187 msgid "" "This example [.filename]#/etc/dma/dma.conf# can be used to send mail using a " "custom mail host." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:195 #, no-wrap msgid "" "SMARTHOST mail.example.org\n" "PORT 587\n" "AUTHPATH /etc/dma/auth.conf\n" "SECURETRANSFER\n" "STARTTLS\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:202 #, no-wrap msgid "username@example.org|mail.example.org:password\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:209 #, no-wrap msgid "% echo this is a test | mail -v -s testing-email username@example.org\n" msgstr "" #. type: Title == #: documentation/content/en/books/handbook/mail/_index.adoc:212 #, no-wrap msgid "Sendmail" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:216 msgid "" "Sendmail is a venerable and versatile Mail Transfer Agent (MTA) with a long " "history in UNIX(R) and UNIX-like systems. It was a part of the FreeBSD base " "system until FreeBSD 13, offering robust email transport capabilities, " "extensive customization options, and support for complex routing and " "filtering." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/mail/_index.adoc:218 #, no-wrap msgid "Configuration Files" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:221 msgid "" "The configuration files for Sendmail are located in [.filename]#/etc/mail/#." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/mail/_index.adoc:222 #, no-wrap msgid "[.filename]#/etc/mail/access#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:230 msgid "" "This access database file defines which hosts or IP addresses have access to " "the local mail server and what kind of access they have. Hosts listed as " "`OK`, which is the default option, are allowed to send mail to this host as " "long as the mail's final destination is the local machine. Hosts listed as " "`REJECT` are rejected for all mail connections. Hosts listed as `RELAY` are " "allowed to send mail for any destination using this mail server. Hosts " "listed as `ERROR` will have their mail returned with the specified mail " "error. If a host is listed as `SKIP`, Sendmail will abort the current " "search for this entry without accepting or rejecting the mail. Hosts listed " "as `QUARANTINE` will have their messages held and will receive the specified " "text as the reason for the hold." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:232 msgid "" "Examples of using these options for both IPv4 and IPv6 addresses can be " "found in the FreeBSD sample configuration, [.filename]#/etc/mail/" "access.sample#:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:236 msgid "" "To configure the access database, use the format shown in the sample to make " "entries in [.filename]#/etc/mail/access#, but do not put a comment symbol " "(`+#+`) in front of the entries. Create an entry for each host or network " "whose access should be configured. Mail senders that match the left side of " "the table are affected by the action on the right side of the table." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:238 msgid "" "Whenever this file is updated, update its database and restart Sendmail:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:243 #, no-wrap msgid "" "# makemap hash /etc/mail/access < /etc/mail/access\n" "# service sendmail restart\n" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/mail/_index.adoc:245 #, no-wrap msgid "[.filename]#/etc/mail/aliases#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:248 msgid "" "This database file contains a list of virtual mailboxes that are expanded to " "users, files, programs, or other aliases. Here are a few entries to " "illustrate the file format:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:255 #, no-wrap msgid "" "root: localuser\n" "ftp-bugs: joe,eric,paul\n" "bit.bucket: /dev/null\n" "procmail: \"|/usr/local/bin/procmail\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:266 msgid "" "The mailbox name on the left side of the colon is expanded to the target(s) " "on the right. The first entry expands the `root` mailbox to the `localuser` " "mailbox, which is then looked up in the [.filename]#/etc/mail/aliases# " "database. If no match is found, the message is delivered to `localuser`. " "The second entry shows a mail list. Mail to `ftp-bugs` is expanded to the " "three local mailboxes `joe`, `eric`, and `paul`. A remote mailbox could be " "specified as _user@example.com_. The third entry shows how to write mail to " "a file, in this case [.filename]#/dev/null#. The last entry demonstrates " "how to send mail to a program, [.filename]#/usr/local/bin/procmail#, through " "a UNIX(R) pipe. Refer to man:aliases[5] for more information about the " "format of this file." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:268 msgid "" "Whenever this file is updated, run `newaliases` to update and initialize the " "aliases database." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/mail/_index.adoc:269 #, no-wrap msgid "[.filename]#/etc/mail/sendmail.cf#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:274 msgid "" "This is the master configuration file for Sendmail. It controls the overall " "behavior of Sendmail, including everything from rewriting email addresses to " "printing rejection messages to remote mail servers. Accordingly, this " "configuration file is quite complex. Fortunately, this file rarely needs to " "be changed for standard mail servers." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:277 msgid "" "The master Sendmail configuration file can be built from man:m4[1] macros " "that define the features and behavior of Sendmail. Refer to [.filename]#/" "usr/src/contrib/sendmail/cf/README# for some of the details." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:279 msgid "" "Whenever changes to this file are made, Sendmail needs to be restarted for " "the changes to take effect." msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/mail/_index.adoc:280 #, no-wrap msgid "[.filename]#/etc/mail/virtusertable#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:284 msgid "" "This database file maps mail addresses for virtual domains and users to real " "mailboxes. These mailboxes can be local, remote, aliases defined in " "[.filename]#/etc/mail/aliases#, or files. This allows multiple virtual " "domains to be hosted on one machine." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:287 msgid "" "FreeBSD provides a sample configuration file in [.filename]#/etc/mail/" "virtusertable.sample# to further demonstrate its format. The following " "example demonstrates how to create custom entries using that format:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:293 #, no-wrap msgid "" "root@example.com root\n" "postmaster@example.com postmaster@noc.example.net\n" "@example.com joe\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:301 msgid "" "This file is processed in a first match order. When an email address " "matches the address on the left, it is mapped to the local mailbox listed on " "the right. The format of the first entry in this example maps a specific " "email address to a local mailbox, whereas the format of the second entry " "maps a specific email address to a remote mailbox. Finally, any email " "address from `example.com` which has not matched any of the previous entries " "will match the last mapping and be sent to the local mailbox `joe`. When " "creating custom entries, use this format and add them to [.filename]#/etc/" "mail/virtusertable#. Whenever this file is edited, update its database and " "restart Sendmail:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:306 #, no-wrap msgid "" "# makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable\n" "# service sendmail restart\n" msgstr "" #. type: Labeled list #: documentation/content/en/books/handbook/mail/_index.adoc:308 #, no-wrap msgid "[.filename]#/etc/mail/relay-domains#" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:312 msgid "" "In a default FreeBSD installation, Sendmail is configured to only send mail " "from the host it is running on. For example, if a POP server is available, " "users will be able to check mail from remote locations but they will not be " "able to send outgoing emails from outside locations. Typically, a few " "moments after the attempt, an email will be sent from `MAILER-DAEMON` with a " "`5.7 Relaying Denied` message." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:315 msgid "" "The most straightforward solution is to add the ISP's FQDN to [.filename]#/" "etc/mail/relay-domains#. If multiple addresses are needed, add them one per " "line:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:322 #, no-wrap msgid "" "your.isp.example.com\n" "other.isp.example.net\n" "users-isp.example.org\n" "www.example.org\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:325 msgid "" "After creating or editing this file, restart Sendmail with `service sendmail " "restart`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:328 msgid "" "Now any mail sent through the system by any host in this list, provided the " "user has an account on the system, will succeed. This allows users to send " "mail from the system remotely without opening the system up to relaying SPAM " "from the Internet." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/mail/_index.adoc:330 #, no-wrap msgid "Changing the Mail Transfer Agent" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:335 msgid "" "Starting with FreeBSD version 14.0, man:dma[8] is the default MTA, and " "before 14.0, the default MTA is man:sendmail[8]. However, the system " "administrator can change the system's MTA. A wide choice of alternative " "MTAs is available from the `mail` category of the FreeBSD Ports Collection." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/mail/_index.adoc:342 msgid "" "If the default's outgoing mail service is disabled, it is important that it " "is replaced with an alternative mail delivery system. Otherwise, system " "functions such as man:periodic[8] will be unable to deliver their results by " "email. Many parts of the system expect a functional MTA. If applications " "continue to use the default binaries to try to send email after they are " "disabled, mail could go into an inactive queue and never be delivered." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/mail/_index.adoc:345 #, no-wrap msgid "Replacing Sendmail with Other MTA" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:348 msgid "" "In order to completely disable man:sendmail[8] execute the following " "commands:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:355 #, no-wrap msgid "" "# sysrc sendmail_enable=\"NO\"\n" "# sysrc sendmail_submit_enable=\"NO\"\n" "# sysrc sendmail_outbound_enable=\"NO\"\n" "# sysrc sendmail_msp_queue_enable=\"NO\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:358 msgid "" "To only disable man:sendmail[8]'s incoming mail service execute the " "following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:362 #, no-wrap msgid "# sysrc sendmail_enable=\"NO\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:365 msgid "Then stop the man:sendmail[8] service:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:369 #, no-wrap msgid "# service sendmail onestop\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:374 msgid "" "Some extra configuration is needed as man:sendmail[8] is so ubiquitous that " "some software assumes it is already installed and configured. Check " "[.filename]#/etc/periodic.conf# and make sure that these values are set to " "`NO`. If this file does not exist, create it with these entries:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:381 #: documentation/content/en/books/handbook/mail/_index.adoc:441 #, no-wrap msgid "" "daily_clean_hoststat_enable=\"NO\"\n" "daily_status_mail_rejects_enable=\"NO\"\n" "daily_status_include_submit_mailq=\"NO\"\n" "daily_submit_queuerun=\"NO\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:386 msgid "" "The next step is to install another MTA, man:dma[8] will be used in this " "example. As pointed above, man:dma[8] is the default MTA in FreeBSD " "starting with version 14.0. Therefore, it is only necessary to install it " "from the ports when using a previous version." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:388 msgid "To install it execute the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:392 #, no-wrap msgid "# pkg install dma\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:395 msgid "" "Perform the configuration as indicated in crossref:mail[configuring-" "dragonfly-mail-agent, Configuring DragonFly Mail Agent (DMA)]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:397 msgid "" "Then change all the entries in the file [.filename]#/etc/mail/mailer.conf# " "to man:dma[8]:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:408 #, no-wrap msgid "" "# Execute the \"real\" sendmail program, named /usr/libexec/sendmail/sendmail\n" "#\n" "# If dma(8) is installed, an example mailer.conf that uses dma(8) instead can\n" "# be found in /usr/share/examples/dma\n" "#\n" "sendmail /usr/local/libexec/dma\n" "mailq /usr/local/libexec/dma\n" "newaliases /usr/local/libexec/dma\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/mail/_index.adoc:413 msgid "" "When using the version of man:dma[8] included in the base system, the paths " "will change to [.filename]#/usr/libexec/dma#." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:416 msgid "" "To ensure that anything in the queue is flushed at boot or before shutdown, " "execute the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:420 #, no-wrap msgid "# sysrc dma_flushq_enable=\"YES\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:424 #: documentation/content/en/books/handbook/mail/_index.adoc:477 msgid "" "Once everything is configured, it is recommended to reboot the system. " "Rebooting provides the opportunity to ensure that the system is correctly " "configured to start the new MTA automatically on boot." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/mail/_index.adoc:426 #, no-wrap msgid "Replacing DragonFly Mail Agent (DMA) with Other MTA" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:430 msgid "" "As noted above, starting with FreeBSD version 14.0, the default MTA is DMA. " "In this example, package:mail/postfix[] will be used as the alternative MTA." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:434 msgid "" "Before installing package:mail/postfix[] some extra configuration is " "needed. Check [.filename]#/etc/periodic.conf# and make sure that these " "values are set to `NO`. If this file does not exist, create it with these " "entries:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:444 msgid "Then install package:mail/postfix[]:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:448 #, no-wrap msgid "# pkg install postfix\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:451 msgid "" "To start package:mail/postfix[] at system boot execute the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:455 #, no-wrap msgid "# sysrc postfix_enable=\"YES\"\n" msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/mail/_index.adoc:461 msgid "" "It is good practice to read the installation message after installing an " "application. Provides useful information about settings, etc." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:464 msgid "" "If postfix is *not* already activated in [.filename]#/usr/local/etc/mail/" "mailer.conf# execute the following commands:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:470 #, no-wrap msgid "" "mv /usr/local/etc/mail/mailer.conf /usr/local/etc/mail/mailer.conf.old\n" "install -d /usr/local/etc/mail\n" "install -m 0644 /usr/local/share/postfix/mailer.conf.postfix /usr/local/etc/mail/mailer.conf\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:474 msgid "" "When employing SASL, ensure that postfix has access to read the sasldb " "file. This is accomplished by adding postfix to group mail and making the " "[.filename]#/usr/local/etc/sasldb*# file(s) readable by group mail (this " "should be the default for new installs)." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/mail/_index.adoc:479 #, no-wrap msgid "Mail User Agents" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:485 msgid "" "A MUA is an application that is used to send and receive email. As email " "\"evolves\" and becomes more complex, MUAs are becoming increasingly " "powerful and provide users increased functionality and flexibility. The " "`mail` category of the FreeBSD Ports Collection contains numerous MUAs. " "These include graphical email clients such as Evolution or Balsa and console " "based clients such as mutt or alpine." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/mail/_index.adoc:487 #, no-wrap msgid "mail" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:492 msgid "" "man:mail[1] is the default MUA installed with FreeBSD. It is a console " "based MUA that offers the basic functionality required to send and receive " "text-based email. It provides limited attachment support and can only " "access local mailboxes." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:494 msgid "" "Although man:mail[1] does not natively support interaction with POP or IMAP " "servers, these mailboxes may be downloaded to a local `mbox` using an " "application such as fetchmail or getmail." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:496 msgid "In order to send and receive email, run man:mail[1]:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:500 #, no-wrap msgid "% mail\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:505 msgid "" "The contents of the user's mailbox in [.filename]#/var/mail# are " "automatically read by man:mail[1]. Should the mailbox be empty, the utility " "exits with a message indicating that no mail could be found. If mail " "exists, the application interface starts, and a list of messages will be " "displayed." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:507 msgid "" "Messages are automatically numbered, as can be seen in the following example:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:515 #, no-wrap msgid "" "Mail version 8.1 6/6/93. Type ? for help.\n" "\"/var/mail/username\": 3 messages 3 new\n" ">N 1 root@localhost Mon Mar 8 14:05 14/510 \"test\"\n" " N 2 root@localhost Mon Mar 8 14:05 14/509 \"user account\"\n" " N 3 root@localhost Mon Mar 8 14:05 14/509 \"sample\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:518 msgid "" "Messages can now be read by typing kbd:[t] followed by the message number." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:520 msgid "This example reads the first email:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:532 #, no-wrap msgid "" "& t 1\n" "Message 1:\n" "From root@localhost Mon Mar 8 14:05:52 2004\n" "X-Original-To: username@localhost\n" "Delivered-To: username@localhost\n" "To: username@localhost\n" "Subject: test\n" "Date: Mon, 8 Mar 2004 14:05:52 +0200 (SAST)\n" "From: root@localhost (Charlie Root)\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:534 #, no-wrap msgid "This is a test message, please reply if you receive it.\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:537 msgid "" "As seen in this example, the message will be displayed with full headers." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:539 msgid "To display the list of messages again, press kbd:[h]." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:544 msgid "" "If the email requires a reply, press either kbd:[R] or kbd:[r] man:mail[1] " "keys. kbd:[R] instructs man:mail[1] to reply only to the sender of the " "email, while kbd:[r] replies to all other recipients of the message. These " "commands can be suffixed with the mail number of the message to reply to. " "After typing the response, the end of the message should be marked by a " "single kbd:[.] on its own line." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:546 msgid "An example can be seen below:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:552 #, no-wrap msgid "" "& R 1\n" "To: root@localhost\n" "Subject: Re: test\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:556 #, no-wrap msgid "" "Thank you, I did get your email.\n" ".\n" "EOT\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:562 msgid "" "In order to send a new email, press kbd:[m], followed by the recipient email " "address. Multiple recipients may be specified by separating each address " "with the kbd:[,] delimiter. The subject of the message may then be entered, " "followed by the message contents. The end of the message should be " "specified by putting a single kbd:[.] on its own line." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:567 #, no-wrap msgid "" "& mail root@localhost\n" "Subject: I mastered mail\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:571 #, no-wrap msgid "" "Now I can send and receive email using mail ... :)\n" ".\n" "EOT\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:575 msgid "" "While using man:mail[1], press kbd:[?] to display help at any time. Refer " "to man:mail[1] for more help on how to use man:mail[1]." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/mail/_index.adoc:580 msgid "" "man:mail[1] was not designed to handle attachments and thus deals with them " "poorly. Newer MUAs handle attachments in a more intelligent way." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/mail/_index.adoc:583 #, no-wrap msgid "Mutt" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:586 msgid "Mutt is a powerful MUA, with many features, including:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:588 msgid "The ability to thread messages." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:589 msgid "PGP support for digital signing and encryption of email." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:590 msgid "MIME support." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:591 msgid "Maildir support." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:592 msgid "Highly customizable." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:594 msgid "" "Refer to link:http://www.mutt.org[http://www.mutt.org] for more information " "on Mutt." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/mail/_index.adoc:600 msgid "" "A Mutt fork called NeoMutt is worth mentioning, which brings added " "features. See more on the link:https://neomutt.org/about.html[NeoMutt " "website]. If NeoMutt was chosen, replace the following command examples " "from `mutt` to `neomutt`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:604 msgid "" "Mutt may be installed using the package:mail/mutt[] port. After the port " "has been installed, Mutt can be started by issuing the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:608 #, no-wrap msgid "% mutt\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:613 msgid "" "Mutt will automatically read and display the contents of the user mailbox in " "[.filename]#/var/mail#. If no mails are found, Mutt will wait for commands " "from the user. The example below shows Mutt displaying a list of messages:" msgstr "" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/books/handbook/mail/_index.adoc:614 #, no-wrap msgid "Mutt email client showing a list of messages" msgstr "" #. type: Target for macro image #: documentation/content/en/books/handbook/mail/_index.adoc:614 #, no-wrap msgid "mutt1.png" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:618 msgid "" "To read an email, select it using the cursor keys and press kbd:[Enter]. An " "example of Mutt displaying email can be seen below:" msgstr "" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/books/handbook/mail/_index.adoc:619 #, no-wrap msgid "Mutt email client displaying an email" msgstr "" #. type: Target for macro image #: documentation/content/en/books/handbook/mail/_index.adoc:619 #, no-wrap msgid "mutt2.png" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:624 msgid "" "Similar to man:mail[1], Mutt can be used to reply only to the sender of the " "message as well as to all recipients. To reply only to the sender of the " "email, press kbd:[r]. To send a group reply to the original sender as well " "as all the message recipients, press kbd:[g]." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/mail/_index.adoc:630 msgid "" "By default, Mutt uses the man:vi[1] editor for creating and replying to " "emails. Each user can customize this by creating or editing the " "[.filename]#.muttrc# in their home directory and setting the `editor` " "variable or by setting the `EDITOR` environment variable. Refer to " "link:http://www.mutt.org/[http://www.mutt.org/] for more information about " "configuring Mutt." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:638 msgid "" "To compose a new mail message, press kbd:[m]. After a valid subject has " "been given, Mutt will start man:vi[1] so the email can be written. Once the " "contents of the email are complete, save and quit from `vi`. Mutt will " "resume, displaying a summary screen of the mail that is to be delivered. In " "order to send the mail, press kbd:[y]. An example of the summary screen can " "be seen below:" msgstr "" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/books/handbook/mail/_index.adoc:639 #, no-wrap msgid "Mutt email client showing the summary screen" msgstr "" #. type: Target for macro image #: documentation/content/en/books/handbook/mail/_index.adoc:639 #, no-wrap msgid "mutt3.png" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:643 msgid "" "Mutt contains extensive help which can be accessed from most of the menus by " "pressing kbd:[?]. The top line also displays the keyboard shortcuts where " "appropriate." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/mail/_index.adoc:645 #, no-wrap msgid "alpine" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:648 msgid "" "alpine is aimed at a beginner user, but also includes some advanced features." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/mail/_index.adoc:654 msgid "" "alpine has had several remote vulnerabilities discovered in the past, which " "allowed remote attackers to execute arbitrary code as users on the local " "system, by the action of sending a specially-prepared email. While _known_ " "problems have been fixed, alpine code is written in an insecure style and " "the FreeBSD Security Officer believes there are likely to be other " "undiscovered vulnerabilities. Users install alpine at their own risk." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:658 msgid "" "The current version of alpine may be installed using the package:mail/" "alpine[] port. Once the port has installed, alpine can be started by " "issuing the following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:662 #, no-wrap msgid "% alpine\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:668 msgid "" "The first time alpine runs, it displays a greeting page with a brief " "introduction, as well as a request from the alpine development team to send " "an anonymous email message allowing them to judge how many users are using " "their client. To send this anonymous message, press kbd:[Enter]. " "Alternatively, press kbd:[E] to exit the greeting without sending an " "anonymous message. An example of the greeting page is shown below:" msgstr "" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/books/handbook/mail/_index.adoc:669 #, no-wrap msgid "alpine email client showing the greeting page" msgstr "" #. type: Target for macro image #: documentation/content/en/books/handbook/mail/_index.adoc:669 #, no-wrap msgid "pine1.png" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:674 msgid "" "The main menu is then presented, which can be navigated using the cursor " "keys. This main menu provides shortcuts for the composing new mails, " "browsing mail directories, and administering address book entries. Below " "the main menu, relevant keyboard shortcuts to perform functions specific to " "the task at hand are shown." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:677 msgid "" "The default directory opened by alpine is [.filename]#inbox#. To view the " "message index, press kbd:[I], or select the [.guimenuitem]#MESSAGE INDEX# " "option shown below:" msgstr "" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/books/handbook/mail/_index.adoc:678 #, no-wrap msgid "alpine email client showing the default directory" msgstr "" #. type: Target for macro image #: documentation/content/en/books/handbook/mail/_index.adoc:678 #, no-wrap msgid "pine2.png" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:682 msgid "" "The message index shows messages in the current directory and can be " "navigated by using the cursor keys. Highlighted messages can be read by " "pressing kbd:[Enter]." msgstr "" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/books/handbook/mail/_index.adoc:683 #, no-wrap msgid "alpine email client showing the message index" msgstr "" #. type: Target for macro image #: documentation/content/en/books/handbook/mail/_index.adoc:683 #, no-wrap msgid "pine3.png" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:688 msgid "" "In the screenshot below, a sample message is displayed by alpine. " "Contextual keyboard shortcuts are displayed at the bottom of the screen. An " "example of one of a shortcut is kbd:[r], which tells the MUA to reply to the " "current message being displayed." msgstr "" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/books/handbook/mail/_index.adoc:689 #, no-wrap msgid "alpine email client showing an email" msgstr "" #. type: Target for macro image #: documentation/content/en/books/handbook/mail/_index.adoc:689 #, no-wrap msgid "pine4.png" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:695 msgid "" "Replying to an email in alpine is done using the pico editor, which is " "installed by default with alpine. pico makes it easy to navigate the " "message and is easier for novice users to use than man:vi[1] or " "man:mail[1]. Once the reply is complete, the message can be sent by " "pressing kbd:[Ctrl+X]. alpine will ask for confirmation before sending the " "message." msgstr "" #. type: Positional ($1) AttributeList argument for macro 'image' #: documentation/content/en/books/handbook/mail/_index.adoc:696 #, no-wrap msgid "alpine email client showing the message compose window" msgstr "" #. type: Target for macro image #: documentation/content/en/books/handbook/mail/_index.adoc:696 #, no-wrap msgid "pine5.png" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:699 msgid "" "alpine can be customized using the [.guimenuitem]#SETUP# option from the " "main menu." msgstr "" #. type: Title == #: documentation/content/en/books/handbook/mail/_index.adoc:701 #, no-wrap msgid "Advanced Topics" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:704 msgid "" "This section covers more involved topics such as mail configuration and " "setting up mail for an entire domain." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/mail/_index.adoc:706 #, no-wrap msgid "Basic Configuration" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:710 msgid "" "Out of the box, one can send email to external hosts as long as [.filename]#/" "etc/resolv.conf# is configured or the network has access to a configured DNS " "server. To have email delivered to the MTA on the FreeBSD host, do one of " "the following:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:712 msgid "Run a DNS server for the domain." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:713 msgid "Get mail delivered directly to the FQDN for the machine." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:717 msgid "" "In order to have mail delivered directly to a host, it must have a permanent " "static IP address, not a dynamic IP address. If the system is behind a " "firewall, it must be configured to allow SMTP traffic. To receive mail " "directly at a host, one of these two must be configured:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:719 msgid "" "Make sure that the lowest-numbered MX record in DNS points to the host's " "static IP address." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:720 msgid "Make sure there is no MX entry in the DNS for the host." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:722 msgid "" "Either of the above will allow mail to be received directly at the host." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:724 msgid "Try this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:728 #, no-wrap msgid "# hostname\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:731 #: documentation/content/en/books/handbook/mail/_index.adoc:743 #: documentation/content/en/books/handbook/mail/_index.adoc:761 msgid "The output should be similar to the following:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:735 #, no-wrap msgid "example.FreeBSD.org\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:740 #: documentation/content/en/books/handbook/mail/_index.adoc:758 #, no-wrap msgid "# host example.FreeBSD.org\n" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:747 #, no-wrap msgid "example.FreeBSD.org has address 204.216.27.XX\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:752 msgid "" "In this example, mail sent directly to " "mailto:yourlogin@example.FreeBSD.org[yourlogin@example.FreeBSD.org] should " "work without problems, assuming a full-featured MTA is running correctly on " "`example.FreeBSD.org`. Note that man:dma[8] does not listen on port 25 for " "incoming connections and cannot be used in this scenario." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:754 msgid "For this example:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:766 #, no-wrap msgid "" "example.FreeBSD.org has address 204.216.27.XX\n" "example.FreeBSD.org mail is handled (pri=10) by nevdull.FreeBSD.org\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:769 msgid "" "All mail sent to `example.FreeBSD.org` will be collected on `nevdull` under " "the same username instead of being sent directly to the local host." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:773 msgid "" "The above information is handled by the DNS server. The DNS record that " "carries mail routing information is the link:https://en.wikipedia.org/wiki/" "MX_record[mail exchanger record (MX record)]. If no MX record exists, mail " "will be delivered directly to the host by way of its IP address." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:775 msgid "The MX entry for `freefall.FreeBSD.org` at one time looked like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:782 #, no-wrap msgid "" "freefall\t\tMX\t30\tmail.crl.net\n" "freefall\t\tMX\t40\tagora.rdrop.com\n" "freefall\t\tMX\t10\tfreefall.FreeBSD.org\n" "freefall\t\tMX\t20\twho.cdrom.com\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:787 msgid "" "`freefall` had many MX entries. The lowest MX number is the host that " "receives mail directly, if available. If it is not accessible for some " "reason, the next lower-numbered host will accept messages temporarily, and " "pass it along when a lower-numbered host becomes available." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:790 msgid "" "Alternate MX sites should have separate Internet connections in order to be " "most useful. The ISP can provide this service." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/mail/_index.adoc:792 #, no-wrap msgid "Mail for a Domain" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:795 msgid "" "When configuring an MTA for a network, any mail sent to hosts in its domain " "should be diverted to the MTA so that users can receive their mail on the " "master mail server." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:798 msgid "" "To make life easiest, a user account with the same _username_ should exist " "on both the MTA and the system with the MUA. Use man:adduser[8] to create " "the user accounts." msgstr "" #. type: delimited block = 4 #: documentation/content/en/books/handbook/mail/_index.adoc:803 msgid "" "In addition to adding local users to the host, there are alternative methods " "known as virtual users. Programs like link:https://www.cyrusimap.org/" "[Cyrus] and link:https://www.dovecot.org/[Dovecot] can be integrated into " "MTAs to handle users, mail storage, and also provide access via POP3 and " "IMAP." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:807 msgid "" "The MTA must be the designated mail exchanger for each workstation on the " "network. This is done in the DNS configuration with an MX record:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:812 #, no-wrap msgid "" "example.FreeBSD.org\tA\t204.216.27.XX\t\t; Workstation\n" "\t\t\tMX\t10 nevdull.FreeBSD.org\t; Mailhost\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:816 msgid "" "This will redirect mail for the workstation to the MTA no matter where the A " "record points. The mail is sent to the MX host." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:819 msgid "" "This must be configured on a DNS server. If the network does not run its " "own DNS server, talk to the ISP or DNS provider." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:821 msgid "The following is an example of virtual email hosting." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:823 msgid "" "Consider a customer with the domain `customer1.org`, where all the mail for " "`customer1.org` should be sent to `mail.myhost.com`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:825 msgid "The DNS entry should look like this:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:829 #, no-wrap msgid "customer1.org\t\tMX\t10\tmail.myhost.com\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:833 msgid "" "An `A` record is _not_ needed for `customer1.org` in order to only handle " "email for that domain. However, running `ping` against `customer1.org` will " "not work unless an `A` record exists for it." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:836 msgid "" "Tell the MTA which domains and/or hostnames it should accept mail for. " "Either of the following will work for Sendmail:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:838 msgid "" "Add the hosts to [.filename]#/etc/mail/local-host-names# when using the " "`FEATURE(use_cw_file)`." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:839 msgid "Add a `Cwyour.host.com` line to [.filename]#/etc/sendmail.cf#." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/mail/_index.adoc:841 #, no-wrap msgid "Setting Up to Send Only" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:845 msgid "" "There are many instances where one may only want to send mail through a " "relay. Some examples are:" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:847 msgid "" "The computer is a desktop machine that needs to use programs such as " "man:mail[1], using the ISP's mail relay." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:848 msgid "" "The computer is a server that does not handle mail locally, but needs to " "pass off all mail to a relay for processing." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:851 msgid "" "While any MTA is capable of filling this particular niche, it can be " "difficult to properly configure a full-featured MTA just to handle " "offloading mail. Programs such as Sendmail and Postfix are overkill for " "this use." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:853 msgid "" "Additionally, a typical Internet access service agreement may forbid one " "from running a \"mail server\"." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:857 msgid "" "The easiest way to fulfill those needs is to use the man:dma[8] MTA included " "in the crossref:mail[configuring-dragonfly-mail-agent, base system]. For " "systems up to 13.2, need be to installed from ports." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:859 msgid "" "In addition to man:dma[8], third-party software can be used to achieve the " "same, like package:mail/ssmtp[]." msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:864 #, no-wrap msgid "" "# cd /usr/ports/mail/ssmtp\n" "# make install replace clean\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:867 msgid "" "Once installed, package:mail/ssmtp[] can be configured with [.filename]#/usr/" "local/etc/ssmtp/ssmtp.conf#:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:874 #, no-wrap msgid "" "root=yourrealemail@example.com\n" "mailhub=mail.example.com\n" "rewriteDomain=example.com\n" "hostname=_HOSTNAME_\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:879 msgid "" "Use the real email address for `root`. Enter the ISP's outgoing mail relay " "in place of `mail.example.com`. Some ISPs call this the \"outgoing mail " "server\" or \"SMTP server\"." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:881 msgid "Make sure to disable Sendmail, including the outgoing mail service." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:883 msgid "" "package:mail/ssmtp[] has some other options available. Refer to the examples " "in [.filename]#/usr/local/etc/ssmtp# or the manual page of ssmtp for more " "information." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:885 msgid "" "Setting up ssmtp in this manner allows any software on the computer that " "needs to send mail to function properly, while not violating the ISP's usage " "policy or allowing the computer to be hijacked for spamming." msgstr "" #. type: Title === #: documentation/content/en/books/handbook/mail/_index.adoc:887 #, no-wrap msgid "SMTP Authentication in Sendmail" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:891 msgid "" "Configuring SMTP authentication on the MTA provides a number of benefits. " "SMTP authentication adds a layer of security to Sendmail, and provides " "mobile users who switch hosts the ability to use the same MTA without the " "need to reconfigure their mail client's settings each time." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:895 msgid "" "Install package:security/cyrus-sasl2[] from the Ports Collection. This port " "supports a number of compile-time options. For the SMTP authentication " "method demonstrated in this example, make sure that `LOGIN` is not disabled." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:897 msgid "" "After installing package:security/cyrus-sasl2[], edit [.filename]#/usr/local/" "lib/sasl2/Sendmail.conf#, or create it if it does not exist, and add the " "following line:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:901 #, no-wrap msgid "pwcheck_method: saslauthd\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:904 msgid "" "Next, install package:security/cyrus-sasl2-saslauthd[] and add execute the " "following command:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:908 #, no-wrap msgid "# sysrc saslauthd_enable=\"YES\"\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:911 msgid "Finally, start the saslauthd daemon:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:915 #, no-wrap msgid "# service saslauthd start\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:919 msgid "" "This daemon serves as a broker for Sendmail to authenticate against the " "FreeBSD man:passwd[5] database. This saves the trouble of creating a new " "set of usernames and passwords for each user that needs to use SMTP " "authentication, and keeps the login and mail password the same." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:921 msgid "Next, edit [.filename]#/etc/make.conf# and add the following lines:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:926 #, no-wrap msgid "" "SENDMAIL_CFLAGS=-I/usr/local/include/sasl -DSASL\n" "SENDMAIL_LDADD=/usr/local/lib/libsasl2.so\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:930 msgid "" "These lines provide Sendmail the proper configuration options for linking to " "package:cyrus-sasl2[] at compile time. Make sure that package:cyrus-sasl2[] " "has been installed before recompiling Sendmail." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:932 msgid "Recompile Sendmail by executing the following commands:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:941 #, no-wrap msgid "" "# cd /usr/src/lib/libsmutil\n" "# make cleandir && make obj && make\n" "# cd /usr/src/lib/libsm\n" "# make cleandir && make obj && make\n" "# cd /usr/src/usr.sbin/sendmail\n" "# make cleandir && make obj && make && make install\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:944 msgid "" "This compile should not have any problems if [.filename]#/usr/src# has not " "changed extensively and the shared libraries it needs are available." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:947 msgid "" "After Sendmail has been compiled and reinstalled, edit [.filename]#/etc/mail/" "freebsd.mc# or the local [.filename]#.mc#. Many administrators choose to " "use the output from man:hostname[1] as the name of [.filename]#.mc# for " "uniqueness." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:949 msgid "Add these lines:" msgstr "" #. type: delimited block . 4 #: documentation/content/en/books/handbook/mail/_index.adoc:955 #, no-wrap msgid "" "dnl set SASL options\n" "TRUST_AUTH_MECH(`GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl\n" "define(`confAUTH_MECHANISMS', `GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN')dnl\n" msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:959 msgid "" "These options configure the different methods available to Sendmail for " "authenticating users. To use a method other than pwcheck, refer to the " "Sendmail documentation." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:962 msgid "" "Finally, run man:make[1] while in [.filename]#/etc/mail#. That will run the " "new [.filename]#.mc# and create a [.filename]#.cf# named either " "[.filename]#freebsd.cf# or the name used for the local [.filename]#.mc#." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:964 msgid "" "Then, run `make install restart`, which will copy the file to " "[.filename]#sendmail.cf#, and properly restart Sendmail." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:966 msgid "" "For more information about this process, refer to [.filename]#/etc/mail/" "Makefile#." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:969 msgid "" "To test the configuration, use a MUA to send a test message. For further " "investigation, set the `LogLevel` of Sendmail to `13` and watch [.filename]#/" "var/log/maillog# for any errors." msgstr "" #. type: Plain text #: documentation/content/en/books/handbook/mail/_index.adoc:970 msgid "" "For more information, refer to http://www.sendmail.org/~ca/email/" "auth.html[SMTP authentication]." msgstr ""