Open main menu

CDOT Wiki β

Changes

OPS335 Lab 4c

4,071 bytes added, 14:35, 6 April 2016
no edit summary
Online References:
* [https://help.ubuntu.com/community/Dovecot Dovecot Community Documentation]* [https://www.debian-administration.org/article/275/Setting_up_an_IMAP_server_with_dovecot Setting up an IMAP Server with Dovecot]
This week, we will set up a '''Postfix''' demonstration for <u>receiving</u> email on your '''VM3''' machine.
We will begin by using the existing Postfix service You may ask yourself, ''"why not install on your VM3 VM2 machine, then add an Local Delivery Agent ('''LDA''') by installing since we used the VM2 machine in the previous lab?"'''dovecot-lda''' package, configure it, and test ti to make sure that is is working correctly.
The reason for this (described in the previous lab) was that you will be able to send email out of your network, and receive email from within your network, but you will '''<u>not</u>''' receive email from outside of your network due to the following reasons::* Individuals outside of your domain will never find the MX records because there are no '''.org''' servers pointing to your DNS server (i.e. you haven't paid for it).:* Even if the individuals could read your MX records, your local network is using IP addresses on a '''private subnet''', which is not routeable on the Internet, so it cannot be reached from outside of your system.  In this lab, we will begin by using the existing '''Postfix''' service on your '''VM3''' machine, then add an Local Delivery Agent ('''LDA''') by installing the '''dovecot-lda''' package on VM3, configure it, and test it to make sure that is is working correctly. Finally, we will set up an '''IMAP''' server (Dovecot) on VM3, so you can read your email from an MUA such as ''Thunderbird '' or a ''Webmail '' (we will set up a webmail application in a later lab).
== INVESTIGATION 1: SETTING UP MTA FOR RECEIVING EMAIL ==
=== Assigning Responsibility Specifying Which Domains are Used to Delivered the "Received" Mail Messages===
The default job of an '''SMTP ''' server is to forward the message recieved received to another email server. That's what we've set up We performed that step in the previous lab: in other words, your postfix MTA receives an email from your client MUA (Thunderbird) and forwards it to the destination '''SMTP ''' server. The other thing an SMTP server can be configured to do is receive email. It still uses SMTP but instead of forwarding it to another SMTP server it will forward it to the Local Delivery Agent (LDA).
With postfix this is done by setting the '''mydestination''' configuration variable to include '''$mydomain''' (this is assuming you've set up '''mydomain''', '''myorigin''' , and '''inet_interfaces''' the same way as in the previous lab).
The other thing an SMTP server can be configured to do is receive email. Your SMTP server, in this case, forwards the received mail message to <u>another</u> SMTP server, which in turn, forwards it to the Local Delivery Agent (LDA). This is done using postfix by setting the '''mydestination''' parameter (configuration variable) to include '''$mydomain''' (this is assuming you've set up '''mydomain''', '''myorigin''' , and '''inet_interfaces''' the same way as in the previous lab). Perform the following steps on VM 3: #Edit your the '''/etc/postfix/main.cf ''' file and scroll .#Scroll down to (or search for) the line containing: '''mydestination'''. Set it up and change line to look like thisthe text shown below:
<pre>mydestination = $mydomain, $myhostname, localhost.$mydomain, localhost</pre>
Now even :'''Note:''' Even though your machine's name is ''vm2.yoursenecaid.org - '', your postfix MTA will also receive emails for addressed to the domain called: yoursenecaid.org === Installing and Configuring the Local Delivery Agent (LDA) ===
=== Postfix is capable of performing the function of an LDA ===, but its LDA capabilities are limited, thus postfix is generally not used for that purpose. Currently, the most popular LDA is ''LMTP'', but we will be installing, configuring, and using an LDA called '''Dovecot''' since it is also popular and we will later be setting up Dovecot as an '''IMAP''' server. Using both Postfix and Dovecot will actually increase the performance of our IMAP server.
Postfix is capable of performing the function of an LDA but it has limited configurability, and is generally not used for that purpose. Currently '''Perform the most popular LDA is LMTP but wefollowing steps:'ll use dovecot-lda because it's also pretty popular and we'll later be setting up Dovecot as an IMAP server. Using the two as a pair will increase the performance of your IMAP server.
#Dovecot is not installed when you installed your Virtual machines in previous labs.#Install the Dovecot application by issuing the following command:<br>yum install dovecot#Edit your /etc/postfix/main.cf file and scroll down to (or search for) '''mailbox_command'''. Add the following line:
<pre>mailbox_command = /usr/libexec/dovecot/dovecot-lda -f "$SENDER" -a "$RECIPIENT"</pre>
Don:NOTE: Do <u>'t ''not'''</u> replace any variables, those are set automatically by Postfix when it runs the LDA. If you're are interested - in learning more about the Dovecot application, you can read about dovecot-lda [http://wiki.dovecot.org/LDA/Postfix here] and [http://wiki.dovecot.org/LDA here] but it's not required reading(iIf you look - you'll see that dovecot-lda doesn't exist yete. Install the dovecot package - that will come with dovecot-ldaoptional reading for interest only).
<ol><li value="4">Finally, edit the '''/etc/dovecot/conf.d/10-mail.conf ''' file and set indicated where you want your mail delivered:by including the following line</li></ol>
<pre>mail_location = maildir:~/Maildir</pre>
Don't forget to restart <ol><li value="5">Restart your postfix service. dovecot-lda is just a program invoked by Postfix, it doesn't have an associated service. === Test ===</li></ol>
First use netstat and telnet to confirm your service is listening on the correct ports/interfaces. You will probably have to open the appropriate firewall port on vm3 to allow incoming SMTP connections.=== Sending a Mail Message from VM2 (Using Thunderbird)===
If all worked so far - you should {{Admon/important |Sent messages will not be able saved to the sent folder|During this step the messages you send email will not be saved to any regular user on vm3 using the email address yourusername@yoursenecaidsent folder and Thunderbird will permanently hang with a message that it is saving the message.org using Thunderbird on vm2 It will never succeed, as we have not yet configured the imap server to accept the connection necessary for that to work.}}
Create a new account on vm3 using only your first name. We'll use this one time for testing receiving email. It's rather important that you don't create this account on vm2 - so that you continue to see Perform the difference between the sending and receiving SMTP servers.following steps:'''
We still haven#Use the '''netstat''' and '''telnet'''t set up IMAP commands (for reading emaillike you did in lab 4b) but we can test that to confirm your service is listening on the message is being deliveredcorrect ports/interfaces. Use You will probably have to open the new account in Thunderbird appropriate firewall port on '''vm3''' to allow incoming '''SMTP''' connections.<br><br>'''Note:''' You should be able to send an email to firstnameany regular user <u>on</u> '''vm3''' using the email address '''yourusername@yoursenecaid.org and then check ''' using the contents of /home/firstname/Maildir/new/ Thunderbird application on vm3. - there should be a file there with your host machine (which is configured to use the contents of account on your emailvm2).<br><br>
If there isn<ol><li value="2">Create a new account on your 't ''vm3''' machine using only your <u>first</u> name. We will use this account as a one - check time "test" if the log file mail message has been received on your VM3 machine (from your VM2 machine).<br><br>'''Note:''' It is <u>'''important'''</varu> that you '''<u>don't</log/maillog u>''' create this same account name on your vm2 machine, since you want to see what went wrongeasily identify the difference between the sending and receiving SMTP servers.<br><br></li></ol>
<ol><li value="3">We still haven't set up IMAP (for reading email) but we can test that the message is being delivered. Use the new account in Thunderbird to send an email to '''firstname@yoursenecaid.org''' and then check the contents of '''/home/firstname/Maildir/new/''' on your '''vm3''' machine. There should be a file there with the contents of your email.</li><li>If you got it - this there is a good time no file, then check the log file '''/var/log/maillog''' to stop and ponder how it all workedsee what went wrong. You</li><li>If you can see a file in the 've gone through setting ''/home/firstname/Maildir/new/''' directory, then review the procedures on how you got the email server working (since you have performed many steps and set up a lot of many services). Look at </li><li>Refer to the diagram at the top of the page - which this lab. Which services have you currently set up?Record your findings in your lab Logbook.</li></ol>
== INVESTIGATION 2{{Admon/important |Encountering error messages when sending email|If you cannot properly receive sent e-mail messages, check the '''/var/log/syslog''' file for errors.<br><br> If you locate an error message in that file such as: READING EMAIL MESSAGES VIA IMAP =='''Fatal: Error reading configuration: Invalid settings...''', then add the following <u>parameter</u> in '''/etc/dovecot/dovecot.conf''':<br>'''postmaster_address at DOMAIN''' (where DOMAIN is actually <u>your</u> domain).<br><br>After you have saved those changes, then '''restart''' your dovecot service.}}
Finally we'll set up the === Viewing Received Mail Message on VM3 VIA IMAP server so we can read email. The way we've set it up - all the email for anyaccount@yoursenecaid.org should end up on vm3. We will set up Dovecot (with IMAP, IMAPS in a later labUsing Thunderbird) to get easy access to that email.===
Finally, we will set up the IMAP server so we can read email. The configuration file current way we have configured our mail server on our VM3 machine should allow all the email for the anyaccount@yoursenecaid.org should be delivered to our '''vm3''' machine. We will set up Dovecot service (which is not with IMAP, IMAPS in the same thing as dovecot-ldanext lab) is /etc/dovecot/dovecotto get easy access to that email.conf
Modify the '''protocolsPerform the following steps:''' option so that Dovecot will work with IMAP connections, no POP3 or LMTP.
#The configuration file for the Dovecot service (which is not the same thing as dovecot-lda) is: '''/etc/dovecot/dovecot.conf'''. Modify the '''protocols''' option so that Dovecot will work with IMAP connections, no POP3 or LMTP.# Start the dovecot service, and ensure it will always start automatically when the machine boots.# Use the '''netstat ''' command to confirm the service is listening, and use telnet on the host to confirm you can connect to it.#If you can connect - it's now time to do something wrong, that is connect to our IMAP server using Thunderbird over an unencrypted connection.# Edit the '''/etc/dovecot/conf.d/10-auth.conf''' file and set '''disable_plaintext_auth''' to '''no'''.# Then edit the '''/etc/dovecot/conf.d/10-ssl.conf''' file and set '''ssl''' to '''yes'''.<br><br>'''Note:''' This combination of parameters will allow your username and password to be sent over the internet in plain text, for anyone interested to look at. In the following lab we'll set up secure SMTP and IMAP connections, for now this is all we have time for.<br><br># Restart dovecot so the changes take effect.#Try to connect to your IMAP server with Thunderbird by clicking on your '''Inbox'''.#If nothing happens, then check the Thunderbird Activity Manager for any errors. If the connection is successful, you should see the '''Trash''' box <u>appear</u> below Inbox.# Finally, send an email message from '''yoursenecaid@yoursenecaid.org''' to '''yoursenecaid@yoursenecaid.org''' using the Thunderbird application. The mail message should be sent without errors, and you should notice a '''Sent''' folder appear in the list. If all worked well, you should see your message arrive in the '''Inbox''' and you know that your configuration works correctly.
If you can connect - it's now time to do something wrong, that is connect to our IMAP server using Thunderbird over an unencrypted connection. Edit /etc/dovecot/conf.d/10-auth.conf and set '''disable_plaintext_auth''' to '''no'''. Then edit /etc/dovecot/conf.d/10-ssl.conf and set '''ssl''' to '''yes'''. This combination of parameters will allow your username and password to be sent over the internet in plain text, for anyone interested to look at. In the following lab we'll set up secure SMTP and IMAP connections, for now this is all we have time for.
To try connect to '''Record steps, commands, and your IMAP server with Thunderbird - click on observations in this INVESTIGATION in your Inbox. If nothing seems to happen - check the Thunderbird Activity Manager for any errors. If the connection is successful OPS335 lab log- you should see a Trash show up below Inbox.book'''
Finally - send an email from yoursenecaid@yoursenecaid.org to yoursenecaid@yoursenecaid.org using Thunderbird. The message should go out without errors, you should see a Sent folder appear in the list, and you should see your message arrive in the inbox. If all that happend - your setup is correct.
== COMPLETING THE LAB ==
==EXPLORATION QUESTIONS==
#What is the purpose of the '''Dovecot''' package?# What is the purpose of the '''mydestination''' parameter contained in the '''/etc/postfix/main.cf''' file?# Why are '''IMAP''' and '''POP''' email servers placed on separate machines (vms)?# What is the purpose of the '''mail_location''' parameter contained in the '''/etc/dovecot/conf.d/10-mail.conf''' file?
13,420
edits