I have suffered from important emails not being received, while I do not receive a bounce message.

I wonder whether one factor in this problem is that my laptop, which sometimes has a dynamically-allocated IP address, appears to be the sender if Alpine talks directly to some (major) SMTP server. My email may get less respect if it comes from a laptop.

So can I change the smtp-server setting in Alpine to use sendmail on a different (fixed IP) machine, rather than the sendmail on my laptop?

I have passwordless ssh keys set up already my remote (tunnel) server. What string can I put to tell Alpine to tunnel elsewhere for sendmail?

Right now for smtp-server I am just specifying a remote SMTP server's IP name and port number, with the Alpine-format tls or ssl and user= string, but I want instead to pass these via ssh to the mailer on another GNU/Linux machine.

(I'm actually using the smtp-rules setting rather than the default smtp-server setting.)

A bit more detail (to explain my motivation):

Here is the bottom part of the header of a very important email message which was never received (major damage ensued) and which generated no bounce:

Received: from Mylaptop-high (192-0-111-216.cpe.teksavvy.com [])
    (authenticated bits=0)
        (User authenticated as [email protected])
    by outgoing-alum.mit.edu (8.14.7/8.12.4) with ESMTP id 03F39FMc032212
    (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);
    Tue, 14 Apr 2020 23:09:16 -0400
Date: Tue, 14 Apr 2020 23:09:15 -0400 (EDT)
From: C P meuser <[email protected]>
To: Important recipient <[email protected]>
Subject: life or death emergency
Message-ID: <alpine.DEB.2.21.200411111170.2116@Mylaptop-high>
User-Agent: Alpine 2.21 (DEB 202 2017-01-01)

Other servers will look at this and find that it originated on my laptop, which was currently at home with my ISP's IP (teksavvy). Not optimally, I sent it via MIT's smtp server rather than McGill's. However, MIT authenticated me and successfully delivered it back to me through a bcc address. But something stopped it getting to the Recipient. That, presumably, was a Microsoft server which McGill uses.

So my concern is that maybe it looks bad to have something coming from my laptop, which is portable, as a first MTA. Maybe that is wrong. When I'm at work, the same laptop has a fixed IP and an IP name, but this was sent from home. I don't really know what I'm fighting, but I'm trying to minimize reasons to reject my emails. So if (especially when at home) I sent from a fixed IP machine at work (ssh pipe) rather than from my laptop, maybe it would be better.

  • I may have missed something obvious. Is there an email server running on your remote (static ip) server? Why can't you just set that as your smtp-server? Jul 16, 2020 at 15:46
  • Please read my extra information (edit). Maybe my motivating premise is wrong. I'm also not sure I'm using the right language, but whatever Alpine uses to send mail (I thought it was sendmail, which I think is an MTA) is available both on my laptop and the static ip remote server.
    – CPBL
    Jul 16, 2020 at 16:18
  • @PhilipCouling If that didn't make sense in response, it's probably because I am out of my depth. Maybe your suggestion is exactly correct. "telnet my.remote-fixed-server.net smtp" works, but I wouldn't know how to set that up. Can alpine connect to it passwordlessly if I have ssh keys?!
    – CPBL
    Aug 25, 2020 at 19:22

1 Answer 1


This is what I've been using for years, currently from my macbook. I've used ssh-add so I don't need to login to the server arcticus

alpinemailarcticus.sh contains


This is a shell script. You run it by typing alpinemailarcticus.sh on the command line followed by enter. It runs another shell script, ssh53025arcticus.sh and then runs alpine

ssh53025arcticus.sh contains (the ssh command is all on one line)

ssh -o TCPKeepAlive=no -o ServerAliveCountMax=5 -o ServerAliveInterval=15  -f  -L 53587:localhost:587 -L 53143:localhost:143  arcticus.clifford.ac sleep 15

This sets up a ssh tunnel for a few ports. When you set up, in alpine, the SMTP server to use localhost:53587 as detailed below, alpine on your laptop thinks the mail server is on localhost, that is, the laptop and alpine is communicating with it using port 53587. However, at the other end of the tunnel, the mail server thinks you are running your mail client on the server and communicating with it on port 587. The server alive stuff is there because alpine seems to be very sensitive to hiccups in the connection (hiccups being a technical term!). novalidate-cert is in there because I have self signed certificats - see help in alpine.

The result is that all the headers seen in one of your email appear to be your remote mail server.

smtp and inbox in alpine are

SMTP Server (for sending) = localhost:53587/notls/novalidate-cert/user=alan                                        
Inbox Path = {localhost:53143/novalidate-cert/user=alan/NoRsh}INBOX                                 

These are set up in Alpine by choosing setup then config and set up alpine to you the ssh for soutgoing and incoming mail on the remote mailserver at the other end of the ssh tunnel.

Ignore from here. It relates to incoming folders and is just confusing the issue. I've been experimenting with incoming folders recently, using the server directly

arcticus-inbox {arcticus.clifford.ac:993/novalidate-cert/ssl/user=alan/NoRsh}INBOX

rather than

golfclubs {localhost:53143/novalidate-cert/user=alan/NoRsh}golfclubs

so I image you could do that for smtp.

The reason I found you question is because I searched for "alpine mail ssh" after noticing

Ssh Command = <No Value Set>
Ssh Path    = <No Value Set>
Ssh Open Timeout  = <No Value Set>

and I don't know what they are for so have started to investigate.

  • Looks very interesting. Maybe you could edit it to add more explanation at the bottom about what it is doing? I am not nearly as sophisticated as you. I certainly don't get the inbox parts.
    – CPBL
    Aug 25, 2020 at 21:06
  • I'll do that tomorrow. Aug 25, 2020 at 22:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .