<p>Haiku provides a system that retrieves e-mail regularly via a Mail Service (also known as mail_daemon) and saves each mail as a single text file. It parses the mail and fills its attributes with all necessary header information, like from, to, subject and its unread status. Now it can be queried by you or any application. This system also makes switching e-mail clients easy as all the data and your configuration stays the same.<br/>
You start by clicking the <spanclass="button">Add</span> button to create a new, unnamed account. This opens a panel where you fill in your account info:</p>
<p>Now you enter your <i>E-mail address</i>, <i>Login name</i> and <i>Password</i>, give an <i>Account name</i> under which it will be known under Haiku and your <i>Real name</i>.</p>
<p>If your account is from a major e-mail provider, Haiku already knows all technical details like server IP addresses. If that is not the case, clicking <spanclass="button">Next</span> will open another window to enter this information by hand:</p>
<p>You first set the <i>Server name</i>, <i>Login type</i> and <i>Connection type</i> for the incoming mail, below that for the outgoing mail. You should find the necessary information on your email provider's website.<br/>
See below for more info about the various settings and additional options.</p>
<p>The <i>Account name</i> is the name that's shown for example in the list of accounts in the E-mail preferences. <i>Real name</i> is the name someone sees when she gets mail from you. <i>Return address</i> is the email address that is used when someone replies to your mail. Normally that is the same address you've sent your email from.</p>
<p>If you'd like to use an email account to only send or only receive email, you can de/activate that usage by right-clicking the account's name in the leftside list to set the checkmarks accordingly.</p>
<p>First is the <spanclass="menu">Mail server</span> address for incoming mails. If your provider needs you to log into a specific port, you add that to the address, separated by a colon. For example, <tt>pop.your-provider.org:1400</tt>.</p>
<p>Then you enter your login information, <i>Login name</i> and <i>Password</i>, and if necessary change the <i>Login type</i> from the default <spanclass="menu">Plain text</span> to <spanclass="menu">APOP</span> for authentication.</p>
<p>If you use <i>POP3</i> and retrieve mails of this account from different computers, you may want to activate the option to <spanclass="menu">Leave mail on server</span> and only <spanclass="menu">Remove mail from server when deleted</span> locally.</p>
<p>If you use <i>IMAP</i> instead, you have the option to <spanclass="menu">Remove mail from server when deleted</span> locally. You can specify <spanclass="menu">IMAP folders</span> to only synchronize with a specific folder and its subfolders.</p>
<p>Also, you can opt to only <spanclass="menu">Partially download messages larger than</span> a certain size. This will only get the header and you can decide if you want to download the rest of the message plus possible attachments after seeing the subject and who sent it. Useful if you have a slow connection.</p>
<p>You can change the <i>Destination</i> of your inbox (default: <spanclass="path">/boot/home/mail/in/</span>), which is useful if you'd like to separate the mails from different accounts into their own folders. However, queries let you sort things out just as well.</p>
<p>First is the <i>SMTP server</i> address for outgoing mails. As with the incoming server before, you can use a specific port if needed, e.g. <tt>mail.your-provider.org:1200</tt>.</p>
<p>If you need to login, you change the <i>Login Type</i> to <spanclass="menu">ESMTP</span> and enter username and password above. The other type is used for providers that need you to check for mail with <spanclass="menu">POP3 before SMTP</span> for identification.</p>
<aid="filters"name="filters">Notifications and other e-mail filters</a></h2>
<p>Notifications for newly arrived email and methods to sort and filter emails are found in <spanclass="menu">E-Mail filters</span> under an account's name. You can add any number of filters that are applied one after the other and rearrange them by drag&dropping them to their new position.<br/>
Currently there are three <spanclass="menu">Incoming mail filters</span> you can add. After adding a filter, you have to select it to see its options.</p>
<p>The spam filter uses statistical methods to classify a mail as unwanted spam. It assigns a value between 0 and 1 to it and you can decide what are the limits for a genuine mail and what will be considered spam.<br/>
You can have that spam rating added to the start of the subject.<br/>
Also, the spam filter can learn from all incoming e-mail. Of course, you'll have to teach it by sorting out the false positives, mails that were mistakenly marked as spam. You'll find more on that when we discuss the application <spanclass="app">Mail</span>.</p>
<td>The current status of the e-mail. Normally, this can be "Read", "Replied", "Sent", "Forwarded", "New", or anything you have defined yourself. However, unless you change it yourself in a filter, it will always be "New" after the Mail Service fetched the mail.</td></tr>
<td>this is a numerical estimate that the spam filter assigned to the e-mail. They are shown in scientific notation, where 1.065e-12 translates to 1.065 divided by 10 to the 12th power, which in this case translates to 0.000000000001065.</td></tr>
<p>The second text field holds your search pattern. It accepts <ahref="http://en.wikipedia.org/wiki/Regular_expression"class="external free"title="Wikipedia: Regular expression"rel="nofollow">regular expressions</a> which gives it great flexibility, while unfortunately complicating things a bit. Read up on it a bit, it's well worth it and simple search patterns aren't <i>that</i> complicated at all.</p>
<p>With the pop-up menu below it, you assign an action when the pattern matches. You can move or delete a mail, set the status to "Read" or anything else or set the e-mail account you'll reply with.</p>
<p>There are several ways you can choose to be notified of newly arrived email. Under <spanclass="menu">Method</span> you find a number of options that can be combined as well:</p>
<p>At this moment, there's only one filter that deals with outgoing mail: <spanclass="cli">fortune</span>.
<br/>It will attach a randomly chosen funny or wise "fortune cookie" to the end of every mail before it's sent out. You can do a dry run by issuing the command <spanclass="cli">fortune</span> in a Terminal.</p>
<aid="settings"name="settings">Setting up the Mail Service</a></h2>
<p>Now that your incoming and outgoing mail servers (and maybe some filters, too), are configured, you have to tell the Mail Service that does all the actual checking and fetching how to do its job.</p>
<p>Under <i>Mail checking</i> you configure the interval at which the account's mail server is probed for new mail.<br/>
If you're on a dial-up connection, you may want to do that <spanclass="menu">Only when dial-up is connected</span> and also <spanclass="menu">Schedule outgoing mail when dial-up is disconnected</span> to avoid dialing automatically in regularly only to check for mail.</p>
<p>The Mail Service has a status window which you can set to show up <spanclass="menu">Never</span>, <spanclass="menu">While sending</span>, <spanclass="menu">While sending and receiving</span> or <spanclass="menu">Always</span>.</p>
<p>Make sure to <spanclass="menu">Start mail services on startup</span> or there will be no mail_daemon running to do your bidding...</p>
<p><spanclass="menu">Edit mailbox menu...</span> will open the folder <spanclass="path">/boot/home/config/Mail/Menu Links/</span>. All folders or queries (!) or their links put into this folder will appear in the context menu of the mailbox icon of the Mail Services in the Deskbar tray.</p>
<p>From that menu, you can also <spanclass="menu">Create new message...</span>, <spanclass="menu">Check for mail now</span> or edit <spanclass="menu">Preferences...</span>.</p>
<p>If you hold down <spanclass="key">SHIFT</span> when invoking the context menu, you'll get additional commands:</p>