Science and technology

Use the Alpine e mail consumer in your Linux terminal

Email is a vital communications medium and can stay so for the foreseeable future. I’ve used many various e mail purchasers during the last 30 years, and Thunderbird is what I’ve used essentially the most lately. It is a superb and practical desktop utility that gives all of the options that most individuals want—together with me.

One of the issues that makes a superb system administrator is curiosity—and I’ve greater than my share. Over the previous few months, I’ve grow to be dissatisfied with Thunderbird—not due to something significantly unsuitable with it. Rather, after a few years, I grew uninterested in it. I used to be inquisitive about whether or not I may discover an e mail consumer to offer a greater (or not less than totally different) expertise than Thunderbird and be not less than as environment friendly.

I made a decision it was time for a change—and never simply to a special graphical consumer interface (GUI) mail consumer. None of the opposite GUI-based e mail purchasers accessible on Linux have ever actually appealed to me. I lastly realized that what I needed was to return to Alpine, the descendant of Pine, the textual content consumer interface (TUI) e mail consumer I used for a time about 20 years in the past.

This need to go retro with my e mail consumer began again in 2017 once I wrote an article about Alpine for Opensource.com. I described how I used Alpine to avoid issues sending emails from ISP networks once I was touring away from my dwelling e mail system.

I not too long ago determined to completely use Alpine for e mail. The major attraction is the convenience of use provided by conserving my fingers on the keyboard (and lowering the variety of instances I want to succeed in for the mouse). It can also be about scratching my sysadmin itch to do one thing totally different and use a wonderful textual content mode interface within the course of.

Getting began

I already had Alpine arrange from my earlier use, so it was only a matter of beginning to use it once more.

Well, not likely.

I beforehand arrange Alpine on my mail server—I used safe shell (SSH) to log into the e-mail server utilizing my e mail account after which launched Alpine to entry my e mail. I defined this in my earlier article, however the backside line is that I needed to avoid ISPs that block outbound port 25 for mail switch within the title of spam discount. A little bit of trouble, actually.

But now I wish to run Alpine on my workstation or laptop computer. It’s comparatively easy to configure Alpine on the identical host as the e-mail server. Using it on a distant laptop requires a superb bit extra.

Install Alpine

Installing Alpine on Fedora is easy as a result of it’s accessible from the Fedora repository. Just use DNF as root:

# dnf -y set up alpine

This command installs Alpine and any prerequisite packages that aren’t already put in. Alpine’s major dependencies are Sendmail, Hunspell, OpenLDAP, OpenSSL, krb5-libs, ncurses, and a few others. In my case, Alpine was the one package deal put in.

Launch Alpine

To launch Alpine, open a terminal session, sort alpine on the command line, and press Enter.

The first time you begin Alpine, it shows a message that it’s creating the consumer listing construction on the localhost. It then shows a Welcome message, and in case you press Enter, you might be handled to a duplicate of Apache’s license. That is sweet, and you need to in all probability learn the license in some unspecified time in the future in order that you already know its phrases. But an important factor proper now could be to configure Alpine to get your e mail.

For now, simply press lowercase e to exit from the greeting message. You ought to now see Alpine’s Main menu (I deleted a number of clean strains of the output to save lots of house):

+----------------------------------------------------+
| ALPINE 2.24 MAIN MENU Folder: INBOX No Messages    |
|                                                    |
| HELP - Get assist utilizing Alpine                       |
|                                                    |
| C COMPOSE MESSAGE - Compose and ship a message     |
|                                                    |
| I MESSAGE INDEX - View messages in present folder  |
|                                                    |
| L FOLDER LIST - Select a folder to view            |
|                                                    |
| A ADDRESS BOOK - Update deal with ebook               |
|                                                    |
| S SETUP - Configure Alpine Options                 |
|                                                    |
| Q QUIT - Leave the Alpine program                  |
|                                                    |
|                                                    |
|                                                    |
|                                                    |
|                                                    |
| For Copyright info press "?"                |
|                                                    |
| ? Help P PrevCmd R RelNotes                        |
| O OTHER CMDS > [ListFldrs] N NextCmd Ok KBLock      |
+----------------------------------------------------+

Figure 1: Alpine’s Main menu

Alpine creates the ~mail listing localhost throughout preliminary use. When you configure the IMAP server, Alpine creates the default ~/mail, ~/mail/sent-mail, and saved-messages folders in your house listing on the IMAP server. You can change the defaults, however I like to recommend towards it. When utilizing IMAP, emails should not saved regionally until you copy them to native folders. All emails are saved within the Inbox on the SMTP server till they’re saved to a folder on the IMAP server. The SMTP and IMAP servers would possibly use the identical or totally different hosts.

Alpine additionally assumes that the Inbox is positioned at /var/spool/mail/user_name on the e-mail SMTP server. This article explains how one can configure each IMAP and SMTP servers. The e mail administrator in your group—that is perhaps you—will add your account to the IMAP server and offer you the preliminary password.

The Alpine interface

The Alpine consumer interface (UI) is a text-mode, menu-driven UI, also referred to as a TUI. This sort of interface can also be generally known as captive consumer interface (CUI), which doesn’t present a command-line interface that can be utilized in scripts, for instance. You should exit from this system to carry out different duties.

By distinction, the mailx program is an e mail program that can be utilized with both a TUI, from the command line, or in scripts. For instance, you should utilize the next command to ship the outcomes of the free command on to the sysadmin’s e mail account:

$ free | mailx -s "Free memory" sysadmin@instance.com

But sufficient of that little aspect journey; there may be work to do. Let’s begin with a proof.

Notice in Figure 1 that the entire potential choices within the Main menu within the heart of the interface and the menu gadgets alongside the underside of the Alpine UI are proven as uppercase letters. But you should utilize both uppercase or lowercase when issuing instructions; Alpine acknowledges and responds to each. Uppercase is less complicated to see and acknowledge within the interface, however it’s simpler to make use of lowercase to enter instructions and make menu picks. I’ll use uppercase letters in daring all through this text to point menu picks (to imitate the Alpine UI).

On the Main menu, you should utilize the Up and Down arrow keys to spotlight a special choice after which press Enter to pick it. The solely method to entry the menu gadgets alongside the underside of the Alpine display (which I name the secondary menu, for lack of a greater time period) is by utilizing the letter designated for every. There are two units of secondary menu gadgets. You can press O (the letter, not the quantity) to change to the following set of instructions, and press O once more to toggle again to the unique set. This keystroke solely modifications the secondary menu gadgets.

Use the Page Down and Page Up keys to scroll by the instructions if you cannot see all of them. The secondary menu on the backside of the web page often lists all of the instructions accessible on the present menu; additionally, you will see a message much like this:

[START of Information About Setup Command]

Should you end up at a spot you do not wish to be, resembling creating a brand new e mail, responding to at least one, or making modifications to settings, and determine you do not wish to do this, Ctrl+C means that you can cancel the present job. In most instances, you’ll be requested to verify that you just wish to cancel by urgent the C key. Note that ^C within the secondary menu represents Ctrl+C. Many instructions use the Ctrl key, so you will notice ^ fairly often on some menus.

Finally, to stop Alpine, you may press Q; when it asks, “Really quit Alpine?” reply with Y to exit. Like many instructions, Q shouldn’t be accessible from all menus.

Help

Help is accessible from the entire menus I’ve tried. You can entry detailed assist for every menu merchandise by highlighting the merchandise you want info for and urgent the ? key to acquire context-sensitive assist.

Configuration

When I began utilizing Alpine usually, I made the minimal modifications to the configuration wanted to ship and obtain emails. As I gained extra expertise with Alpine, I modified different configuration gadgets to make issues work simpler or extra to my liking.

First, I’ll clarify the essential configurations required to make Alpine work, then transfer on to ones that make it work higher.

If you’ve got been exploring a bit by yourself—which is an effective factor—return to the Main menu. To get to Alpine’s Configuration menu from the Main menu, sort S for Setup. You will see a menu like this:

ALPINE 2.24 SETUP Folder: INBOX No Messages

This is the Setup display for Alpine. Choose from the next instructions:

(E) Exit Setup:
This places you again on the Main Menu.

(P) Printer:
Allows you to set a default printer and to outline customized
print instructions.

(N) Newpassword:
Change your password.

(C) Config:
Allows you to set or unset many options of Alpine.
You may set the values of many choices with this command.

(S) Signature:
Enter or edit a customized signature which is able to
be included with every new message you ship.
 
(A) AddressBooks:
Define a non-default deal with ebook.
 
(L) assortmentLists:
You might outline teams of folders that will help you higher arrange your mail.
 
(R) Rules:
This has as much as six sub-categories: Roles, Index Colors, Filters,
 [START of Information About Setup Command ]
? Help E Exit Setup N Newpassword S Signature L assortmentList D Directory  
O OTHER CMDS P Printer C Config A AddressBooks R Rules Ok Kolor

Figure 2: Alpine Setup menu

The Setup menu teams the very giant variety of setup gadgets into associated classes to, hopefully, make those you need simpler to find. Use Page Down and Page Up to scroll by the instructions if you cannot see all of them.

I am going to begin with the settings essential to get e mail—Alpine’s complete function—up and working.

Config

The Config part incorporates 15 pages (on my giant display) of option- and feature-configuration gadgets. These settings can be utilized to arrange your SMTP and IMAP connections to the e-mail server and outline the way in which many facets of Alpine work. In these examples, I am going to use the instance.com area title (which is the digital community I exploit for testing and experimenting). Alpine’s configuration is saved within the ~/.pinerc file, created the primary time you begin Alpine.

The first web page of the Setup Configuration menu incorporates many of the settings required to configure Alpine to ship and obtain e mail:

ALPINE 2.24 SETUP CONFIGURATION Folder: INBOX No Messages

Personal Name = <No Value Set: utilizing "Test User">
User Domain = <No Value Set>
SMTP Server (for sending) = <No Value Set>
NNTP Server (for information) = <No Value Set>
Inbox Path = <No Value Set: utilizing "inbox">
Incoming Archive Folders = <No Value Set>
Pruned Folders = <No Value Set>
Default Fcc (File carbon copy) = <No Value Set: utilizing "sent-mail">
Default Saved Message Folder = <No Value Set: utilizing "saved-messages">
Postponed Folder = <No Value Set: utilizing "postponed-msgs">
Read Message Folder = <No Value Set>
Form Letter Folder = <No Value Set>
Trash Folder = <No Value Set: utilizing "Trash">
Literal Signature = <No Value Set>
Signature File = <No Value Set: utilizing ".signature">
Feature List =
Set Feature Name
--- ----------------------
[ Composer Preferences ]
[X] Allow Changing From (default)
[ ] Alternate Compose Menu
[ ] Alternate Role (#) Menu
[ ] Compose Cancel Confirm Uses Yes
[ ] Compose Rejects Unqualified Addresses
[ ] Compose Send Offers First Filter
[ ] Ctrl-Ok Cuts From Cursor
[ ] Delete Key Maps to Ctrl-D
[ ] Do Not Save to Deadletter on Cancel
[Already at begin of display]
? Help E Exit Setup P Prev - PrevPage A Add Value % Print
O OTHER CMDS C [Change Val] N Next Spc NextPage D Delete Val W WhereIs

Figure three: First web page of Alpine’s Setup Configuration menu

This is the place you outline the parameters required to speak with the e-mail server. To change a setting, use the Arrow keys to maneuver the choice bar to the specified configuration merchandise and press Enter. You can see in Figure three that not one of the primary configuration gadgets have any values set.

The Personal Name merchandise makes use of the Gecos field of the Unix /and so on/passwd entry for the logged-in consumer to acquire the default title. This is only a title Alpine makes use of for show and has no position in receiving or sending e mail. I often name this the “pretty name.” In this case, the default title is okay, so I’ll go away it as it’s.

There are some configuration gadgets that you could set. Start with the User Domain, which is the present laptop’s area title. Mine is a digital machine I exploit for testing and examples in my books. Use the command line to get the totally certified area title (FQDN) and the hostname. In Figure four, you may see that the area title is instance.com:

$ hostnamectl
Static hostname: testvm1.instance.com
Icon title: computer-vm
Chassis: vm
Machine ID: 616ed83d97594a53814c35bc6c078d43
Boot ID: fd721c46a9c44c9ab8ea392cef77b661
Virtualization: oracle
Operating System: Fedora 33 (Xfce)
CPE OS Name: cpe:/o:fedoraproject:fedora:33
Kernel: Linux 5.10.23-200.fc33.x86_64
Architecture: x86-64

Figure four: Obtaining the hostname and area title

Once you’ve got the FQDN, choose the User Domain entry and press Enter to see the entry area on the backside of the Alpine display (as proven in Figure 5). Type your area title and press Enter (utilizing your community’s area and server names):

ALPINE 2.24 SETUP CONFIGURATION Folder: INBOX No Messages

Personal Name = <No Value Set: utilizing "Test User">
User Domain = <No Value Set>
SMTP Server (for sending) = <No Value Set>
NNTP Server (for information) = <No Value Set>
Inbox Path = <No Value Set: utilizing "inbox">
Incoming Archive Folders = <No Value Set>
Pruned Folders = <No Value Set>
Default Fcc (File carbon copy) = <No Value Set: utilizing "sent-mail">
Default Saved Message Folder = <No Value Set: utilizing "saved-messages">
Postponed Folder = <No Value Set: utilizing "postponed-msgs">
Read Message Folder = <No Value Set>
Form Letter Folder = <No Value Set>
Trash Folder = <No Value Set: utilizing "Trash">
Literal Signature = <No Value Set>
Signature File = <No Value Set: utilizing ".signature">
Feature List =
Set Feature Name
--- ----------------------
[ Composer Preferences ]
[X] Allow Changing From (default)
[ ] Alternate Compose Menu
[ ] Alternate Role (#) Menu
[ ] Compose Cancel Confirm Uses Yes
[ ] Compose Rejects Unqualified Addresses
[ ] Compose Send Offers First Filter
[ ] Ctrl-Ok Cuts From Cursor
[ ] Delete Key Maps to Ctrl-D
[ ] Do Not Save to Deadletter on Cancel
Enter the textual content to be added : instance.com
^G Help
^C Cancel Ret Accept

Figure 5: Type the area title into the textual content entry area.

Required config

These are the essential configuration gadgets it’s essential to ship and obtain e mail:

  • Personal Name
    • Your title
    • This is the gorgeous title Alpine makes use of for the From and Return fields in emails.
  • User Domain
    • instance.com:25/consumer=SMTP_Authentication_UserName
    • This is the e-mail area in your e mail consumer. This is perhaps totally different from the User Domain title. This line additionally incorporates the SMTP port quantity and the consumer title for SMTP authentication.
  • SMTP server
    • SMTP
    • This is the title of the outbound SMTP e mail server. It combines with the User Domain title to create the FQDN for the e-mail server.
  • Inbox Path
    • Inbox
    • This is the title of the IMAP server enclosed in curly braces () and the title of the Inbox. Note that this listing location is totally different from the inbound IMAP e mail. The ordinary location for the inbox on the server is /var/spool/mail/user_name.
  • Default Fcc (file carbon copy)
    • mail/despatched
    • This is the mailbox (folder) the place despatched mail is saved. The default mail listing on the server is often ~/mail, however mail/ should be specified on this and the following two entries, or the folders will likely be positioned within the dwelling listing as an alternative.
  • Default Saved Message Folder
    • mail/saved-messages
    • This is the default folder when saving a message to a folder in case you do not use ^t to specify a special one.
  • Trash Folder
  • Literal Signature
    • A signature string
    • I do not use this, however it’s a simple place to specify a easy signature.
  • Signature File
    • ~/MySignature.sig
    • This factors to the file that incorporates your signature file.

Optional config

Here are the options I modified to make Alpine work extra to my liking. They should not about getting Alpine to ship and obtain e mail, however about making Alpine work the way in which you need it to. Unless in any other case famous, I turned all of those options on. Features which can be turned on by default have the string (default) subsequent to them within the Alpine show. Because they’re already turned on, I cannot describe them.

Printing

It is straightforward to arrange Alpine for printing. Select the Printer menu from the Setup web page. This means that you can set a default printer and outline customized print instructions. The default might be attached-to-ansi. Move the cursor all the way down to the Standard UNIX print command part and spotlight the printer record. 

Standard UNIX print command

Using this selection might require setting your "PRINTER" or "LPDEST"

atmosphere variable utilizing the usual UNIX utilities.

Printer List: "" lpr

Then press the Enter key to set the usual Unix lpr command because the default.

Final ideas

This shouldn’t be a step-by-step information to Alpine configuration and use. Rather, I attempted to cowl the fundamentals to get it up and working to ship and obtain e mail. I additionally shared some configuration modifications which have made my Alpine expertise way more usable. These are the configuration gadgets that I’ve discovered most essential to my expertise; chances are you’ll discover that others are extra essential to you.

I’ve been utilizing Alpine for a number of months now and am very proud of the expertise. The textual content interface helps me consider the message and never the distracting graphics and animations. I can view these if I select, however 99% of the time, I select to not.

Alpine is straightforward to make use of and has an enormous variety of options that may be configured to present one of the best e mail consumer expertise potential.

Use the Help characteristic to get extra details about the fields I explored above and people who I didn’t cowl. You will undoubtedly discover methods to configure Alpine that work higher for you than the defaults or what I modified. I hope this may not less than offer you a begin to arrange Alpine the way in which you need.

Most Popular

To Top