* SMTP library problem
@ 2008-03-04 18:09 James Long
2008-03-05 11:11 ` Stephen Berman
0 siblings, 1 reply; 16+ messages in thread
From: James Long @ 2008-03-04 18:09 UTC (permalink / raw)
To: help-gnu-emacs
I hope this is the appropriate place to ask this question - I couldn't
find any mailing lists specific to SMTP. I couldn't find where to
subscribe to this mailing list so you may have to include my address
in the reply.
I'm using the standard SMTP library that comes with Emacs (I am using
Carbon Emacs 22.1). The connection requires SSL and password
authentication. Whenever I try to send a message, Emacs simply
freezes up. Here are my connection settings; I have tried both
gnutls-cli and starttls (using the variable which toggles which one to
use, I forget the name of it).
(setq send-mail-function 'smtpmail-send-it)
(setq message-send-mail-function 'smtpmail-send-it)
(setq smtpmail-smtp-server "~server~")
(setq smtpmail-smtp-service ~port~)
(setq smtpmail-starttls-credentials '(("~server~" ~port~ "~user~" "~pass~")))
(setq smtpmail-debug-info t)
(setq smtpmail-debug-verb t)
I'm sure my credentials, server, and port are correct, and that the
server is fine. I don't get anything in the SMTP trace buffer. I
suppose I should figure out how to use edebug, which I will attempt
later on.
Could one of my libraries be out of date? gnutls-cli (I have version
2.3.1), or smtpmail.el, or something else?
Thanks,
--
James Long
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-04 18:09 SMTP library problem James Long
@ 2008-03-05 11:11 ` Stephen Berman
2008-03-05 12:54 ` David
0 siblings, 1 reply; 16+ messages in thread
From: Stephen Berman @ 2008-03-05 11:11 UTC (permalink / raw)
To: help-gnu-emacs; +Cc: longster
On Tue, 4 Mar 2008 13:09:36 -0500 "James Long" <longster@gmail.com> wrote:
> I couldn't find where to
> subscribe to this mailing list so you may have to include my address
> in the reply.
You can also read and write to this list via Gmane, either as a
newsgroup or with a web browser; go to gmane.org for details.
> I'm using the standard SMTP library that comes with Emacs (I am using
> Carbon Emacs 22.1). The connection requires SSL and password
> authentication. Whenever I try to send a message, Emacs simply
> freezes up. Here are my connection settings; I have tried both
> gnutls-cli and starttls (using the variable which toggles which one to
> use, I forget the name of it).
>
> (setq send-mail-function 'smtpmail-send-it)
> (setq message-send-mail-function 'smtpmail-send-it)
> (setq smtpmail-smtp-server "~server~")
> (setq smtpmail-smtp-service ~port~)
> (setq smtpmail-starttls-credentials '(("~server~" ~port~ "~user~" "~pass~")))
> (setq smtpmail-debug-info t)
> (setq smtpmail-debug-verb t)
>
> I'm sure my credentials, server, and port are correct, and that the
> server is fine. I don't get anything in the SMTP trace buffer. I
> suppose I should figure out how to use edebug, which I will attempt
> later on.
>
> Could one of my libraries be out of date? gnutls-cli (I have version
> 2.3.1), or smtpmail.el, or something else?
I have a similar or perhaps the same problem. I use the same type of
settings as you do. How long did you wait after Emacs "froze up". In
my case, it "unfreezes" after 20 minutes and the SMTP trace buffer shows
this:
Process SMTP finished
454 TLS connection failed: timed out (#4.3.0)
- Peer has closed the GNUTLS connection
QUIT
This is reproducible. I can access the same SMTP server using KMail, so
I assume, like you, that my problem is somewhere in smtpmail.el or
gnutls-cli (I don't have starttls), perhaps a wrong setting. It would
be nice if someone can solve this one; I haven't been able to.
Steve Berman
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-05 11:11 ` Stephen Berman
@ 2008-03-05 12:54 ` David
2008-03-05 19:41 ` Stephen Berman
0 siblings, 1 reply; 16+ messages in thread
From: David @ 2008-03-05 12:54 UTC (permalink / raw)
To: help-gnu-emacs
Stephen Berman <Stephen.Berman@gmx.net> writes:
> I have a similar or perhaps the same problem. I use the same type of
> settings as you do. How long did you wait after Emacs "froze up". In
> my case, it "unfreezes" after 20 minutes and the SMTP trace buffer shows
> this:
>
> Process SMTP finished
> 454 TLS connection failed: timed out (#4.3.0)
> - Peer has closed the GNUTLS connection
> QUIT
Could it be that the SMTP server does ssmtp (usually on port 465)
instead of SMTP+STARTTLS? Do you see a greeting message from the server
when you connect to it with telnet?
-David
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-05 12:54 ` David
@ 2008-03-05 19:41 ` Stephen Berman
2008-03-05 23:03 ` David
0 siblings, 1 reply; 16+ messages in thread
From: Stephen Berman @ 2008-03-05 19:41 UTC (permalink / raw)
To: help-gnu-emacs
On Wed, 05 Mar 2008 13:54:44 +0100 David <de_bb@arcor.de> wrote:
> Stephen Berman <Stephen.Berman@gmx.net> writes:
>> I have a similar or perhaps the same problem. I use the same type of
>> settings as you do. How long did you wait after Emacs "froze up". In
>> my case, it "unfreezes" after 20 minutes and the SMTP trace buffer shows
>> this:
>>
>> Process SMTP finished
>> 454 TLS connection failed: timed out (#4.3.0)
>> - Peer has closed the GNUTLS connection
>> QUIT
>
> Could it be that the SMTP server does ssmtp (usually on port 465)
> instead of SMTP+STARTTLS?
The does indeed use port 465 (and I set smtpmail-smtp-service to 465).
Are you saying that smtpmail.el does not support ssmtp?
> Do you see a greeting message from the server
> when you connect to it with telnet?
No:
$ telnet mail.myprovider.com
Trying 123.456.78.9...
telnet: connect to address 123.456.78.9: Connection timed out
I know nothing about ssmtp. Assuming the server does use it, is there a
way to access it from Gnus?
Steve Berman
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-05 19:41 ` Stephen Berman
@ 2008-03-05 23:03 ` David
2008-03-06 0:13 ` Stephen Berman
0 siblings, 1 reply; 16+ messages in thread
From: David @ 2008-03-05 23:03 UTC (permalink / raw)
To: help-gnu-emacs
Stephen Berman <Stephen.Berman@gmx.net> writes:
>> Could it be that the SMTP server does ssmtp (usually on port 465)
>> instead of SMTP+STARTTLS?
>
> The does indeed use port 465 (and I set smtpmail-smtp-service to 465).
> Are you saying that smtpmail.el does not support ssmtp?
I don't know, but I don't see any option to activate it.
>> Do you see a greeting message from the server
>> when you connect to it with telnet?
>
> No:
>
> $ telnet mail.myprovider.com
> Trying 123.456.78.9...
> telnet: connect to address 123.456.78.9: Connection timed out
I should have mentioned that you have to try the port you want to
connect to, i.e.
telnet mail.myprovider.com 465
> I know nothing about ssmtp. Assuming the server does use it, is there a
> way to access it from Gnus?
ssmtp simply means that the TLS connection is established immediately,
whereas SMTP+STARTTLS first does the EHLO-stuff in clear text and the
TLS connection is only established if the server advertises it to the
client. AFAIK, ssmtp is more or less deprecated and servers support it
only because of MS Outlook. Nowadays, TLS connections are usually done on
the standard port 25, so this is the first you should try. You can test
this by using a tool like 'swaks' or simply with telnet:
telnet mail.myprovider.com 25
and after the greeting you type something like
EHLO my.address.com
and if the server answers
250-STARTTLS
it should work with smtpmail.el.
-David
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-05 23:03 ` David
@ 2008-03-06 0:13 ` Stephen Berman
2008-03-06 11:17 ` David
0 siblings, 1 reply; 16+ messages in thread
From: Stephen Berman @ 2008-03-06 0:13 UTC (permalink / raw)
To: help-gnu-emacs
On Thu, 06 Mar 2008 00:03:45 +0100 David <de_bb@arcor.de> wrote:
> Stephen Berman <Stephen.Berman@gmx.net> writes:
>>> Could it be that the SMTP server does ssmtp (usually on port 465)
>>> instead of SMTP+STARTTLS?
>>
>> The does indeed use port 465 (and I set smtpmail-smtp-service to 465).
>> Are you saying that smtpmail.el does not support ssmtp?
>
> I don't know, but I don't see any option to activate it.
>
>>> Do you see a greeting message from the server
>>> when you connect to it with telnet?
>>
>> No:
>>
>> $ telnet mail.myprovider.com
>> Trying 123.456.78.9...
>> telnet: connect to address 123.456.78.9: Connection timed out
>
> I should have mentioned that you have to try the port you want to
> connect to, i.e.
>
> telnet mail.myprovider.com 465
With this I get the same results as with smtpmail.el:
$ telnet mail.myprovider.com 465
Trying 123.456.78.9...
Connected to mail.myprovider.com.
Escape character is '^]'.
454 TLS connection failed: timed out (#4.3.0)
Connection closed by foreign host.
>> I know nothing about ssmtp. Assuming the server does use it, is there a
>> way to access it from Gnus?
>
> ssmtp simply means that the TLS connection is established immediately,
> whereas SMTP+STARTTLS first does the EHLO-stuff in clear text and the
> TLS connection is only established if the server advertises it to the
> client. AFAIK, ssmtp is more or less deprecated and servers support it
> only because of MS Outlook. Nowadays, TLS connections are usually done on
> the standard port 25, so this is the first you should try. You can test
> this by using a tool like 'swaks' or simply with telnet:
>
> telnet mail.myprovider.com 25
>
> and after the greeting you type something like
>
> EHLO my.address.com
>
> and if the server answers
>
> 250-STARTTLS
>
> it should work with smtpmail.el.
Telnetting to port 25 just times out as above with no port. I also
tried swaks:
$ swaks -s mail.myprovider.com
To: stephen.berman@gmx.net
=== Trying mail.myprovider.com:25...
*** Error connecting 0.0.0.0 to mail.myprovider.com:25:
*** IO::Socket::INET: connect: timeout
$ swaks -s mail.myprovider.com -p 465
To: stephen.berman@gmx.net
=== Trying mail.myprovider.com:465...
=== Connected to mail.myprovider.com.
<** Timeout (30 secs) waiting for server response
-> QUIT
<** Timeout (30 secs) waiting for server response
=== Connection closed with remote host.
Again, I can send and receive mail via this server using KMail, which I
set up simply by providing the server's FQDN and my user name (KMail
figured out the port and authorization method and prompts for my
password). So I expected (and still hope) there's some way to access it
with Gnus.
Steve Berman
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-06 0:13 ` Stephen Berman
@ 2008-03-06 11:17 ` David
2008-03-07 14:26 ` Stephen Berman
0 siblings, 1 reply; 16+ messages in thread
From: David @ 2008-03-06 11:17 UTC (permalink / raw)
To: help-gnu-emacs
Stephen Berman <Stephen.Berman@gmx.net> writes:
> Telnetting to port 25 just times out as above with no port. I also
> tried swaks:
>
> $ swaks -s mail.myprovider.com
If it is indeed ssmtp you would have to call swaks with
swaks --auth --tls-on-connect -p 465 -s mail.myprovider.com
> Again, I can send and receive mail via this server using KMail, which I
> set up simply by providing the server's FQDN and my user name (KMail
> figured out the port and authorization method and prompts for my
> password). So I expected (and still hope) there's some way to access it
> with Gnus.
If the above swaks command works, you can use an external tool like
stunnel to set up the SSL connection. If you have root on the machine,
you can use stunnel like this
stunnel -f -c -d localhost:2000 -r mail.myprovider.com:465
You should then be able to send mails through your localhost on port
2000. Note that the '-f' option lets stunnel run in the foreground for
testing purposes. If it works, you can omit this option and let stunnel
run as daemon.
-David
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-06 11:17 ` David
@ 2008-03-07 14:26 ` Stephen Berman
2008-03-07 15:03 ` David
0 siblings, 1 reply; 16+ messages in thread
From: Stephen Berman @ 2008-03-07 14:26 UTC (permalink / raw)
To: help-gnu-emacs
On Thu, 06 Mar 2008 12:17:23 +0100 David <de_bb@arcor.de> wrote:
> Stephen Berman <Stephen.Berman@gmx.net> writes:
>> Telnetting to port 25 just times out as above with no port. I also
>> tried swaks:
>>
>> $ swaks -s mail.myprovider.com
>
> If it is indeed ssmtp you would have to call swaks with
>
> swaks --auth --tls-on-connect -p 465 -s mail.myprovider.com
Ah, thanks. That works.
>> Again, I can send and receive mail via this server using KMail, which I
>> set up simply by providing the server's FQDN and my user name (KMail
>> figured out the port and authorization method and prompts for my
>> password). So I expected (and still hope) there's some way to access it
>> with Gnus.
>
> If the above swaks command works, you can use an external tool like
> stunnel to set up the SSL connection. If you have root on the machine,
> you can use stunnel like this
>
> stunnel -f -c -d localhost:2000 -r mail.myprovider.com:465
>
> You should then be able to send mails through your localhost on port
> 2000. Note that the '-f' option lets stunnel run in the foreground for
> testing purposes. If it works, you can omit this option and let stunnel
> run as daemon.
I don't have root access to the machine that hosts the mail server, or
do you mean the machine I use to send mail via the server? If the
latter, how would I make Gnus aware of the tunnel?
I instrumented smtpmail.el for Edebug and stepped through the code as I
tried to send a mail. The "freeze" occurred in smtpmail-read-response
at the call to accept-process-output, which is from the Emacs C code. I
assume this means gnutls is not providing the server what it needs, so
it just waits until it hits the timeout, but I don't know how to proceed
to find out what is going wrong.
Steve Berman
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-07 14:26 ` Stephen Berman
@ 2008-03-07 15:03 ` David
2008-03-07 22:03 ` Stephen Berman
0 siblings, 1 reply; 16+ messages in thread
From: David @ 2008-03-07 15:03 UTC (permalink / raw)
To: help-gnu-emacs
Stephen Berman <Stephen.Berman@gmx.net> writes:
>> swaks --auth --tls-on-connect -p 465 -s mail.myprovider.com
>
> Ah, thanks. That works.
OK, then it's ssmtp.
>> If the above swaks command works, you can use an external tool like
>> stunnel to set up the SSL connection. If you have root on the machine,
>> you can use stunnel like this
>>
>> stunnel -f -c -d localhost:2000 -r mail.myprovider.com:465
>>
>> You should then be able to send mails through your localhost on port
>> 2000. Note that the '-f' option lets stunnel run in the foreground for
>> testing purposes. If it works, you can omit this option and let stunnel
>> run as daemon.
>
> I don't have root access to the machine that hosts the mail server, or
> do you mean the machine I use to send mail via the server?
The latter.
> If the latter, how would I make Gnus aware of the tunnel?
Just point smptmail.el to your localhost on port 2000 (or whatever
you're writing in the above stunnel command).
> I instrumented smtpmail.el for Edebug and stepped through the code as I
> tried to send a mail. The "freeze" occurred in smtpmail-read-response
> at the call to accept-process-output, which is from the Emacs C code. I
> assume this means gnutls is not providing the server what it needs, so
> it just waits until it hits the timeout, but I don't know how to proceed
> to find out what is going wrong.
smptmail.el waits for the server greeting, which doesn't happen since
the server waits for you to initiate the TLS connection first (which you
can do using stunnel). It shouldn't be too difficult to adapt
smtpmail.el to deal with this, but AFAIK ssmtp simply isn't standardized
and every good mail provider should support SMTP+STARTTLS on the
standard port.
-David
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-07 15:03 ` David
@ 2008-03-07 22:03 ` Stephen Berman
2008-03-08 14:47 ` David
[not found] ` <mailman.8558.1204987691.18990.help-gnu-emacs@gnu.org>
0 siblings, 2 replies; 16+ messages in thread
From: Stephen Berman @ 2008-03-07 22:03 UTC (permalink / raw)
To: help-gnu-emacs
On Fri, 07 Mar 2008 16:03:21 +0100 David <de_bb@arcor.de> wrote:
> Stephen Berman <Stephen.Berman@gmx.net> writes:
>>> swaks --auth --tls-on-connect -p 465 -s mail.myprovider.com
>>
>> Ah, thanks. That works.
>
> OK, then it's ssmtp.
>
>>> If the above swaks command works, you can use an external tool like
>>> stunnel to set up the SSL connection. If you have root on the machine,
>>> you can use stunnel like this
>>>
>>> stunnel -f -c -d localhost:2000 -r mail.myprovider.com:465
>>>
>>> You should then be able to send mails through your localhost on port
>>> 2000. Note that the '-f' option lets stunnel run in the foreground for
>>> testing purposes. If it works, you can omit this option and let stunnel
>>> run as daemon.
>>
>> I don't have root access to the machine that hosts the mail server, or
>> do you mean the machine I use to send mail via the server?
>
> The latter.
>
>> If the latter, how would I make Gnus aware of the tunnel?
>
> Just point smptmail.el to your localhost on port 2000 (or whatever
> you're writing in the above stunnel command).
Ok, I set smtpmail-default-smtp-server to "localhost" and
smtpmail-auth-credentials to '(("localhost" 2000 "myusername"
"mypassword")), and indeed it did work -- almost. Since the mail goes
through localhost, it gets picked up by the postfix server running on my
system. I have postfix configured to relay mail from localhost to
another server (mail.gmx.net), which is what I use for most of my
email. Unfortunately, mail.gmx.net does not accept relayed mail that
has a non-GMX MAIL FROM (in this case myprovider.com) and bounces the
mail. I don't know whether it is possible, and if so how, to configure
postfix to handle mail intended to go through stunnel without relaying
it to mail.gmx.net. Is it possible to use stunnel without going through
localhost (but still sending the mail from this computer)?
>> I instrumented smtpmail.el for Edebug and stepped through the code as I
>> tried to send a mail. The "freeze" occurred in smtpmail-read-response
>> at the call to accept-process-output, which is from the Emacs C code. I
>> assume this means gnutls is not providing the server what it needs, so
>> it just waits until it hits the timeout, but I don't know how to proceed
>> to find out what is going wrong.
>
> smptmail.el waits for the server greeting, which doesn't happen since
> the server waits for you to initiate the TLS connection first (which you
> can do using stunnel). It shouldn't be too difficult to adapt
> smtpmail.el to deal with this, but AFAIK ssmtp simply isn't standardized
> and every good mail provider should support SMTP+STARTTLS on the
> standard port.
Unfortunately I don't know what adaptations to smtpmail.el would be
needed nor how to implement them. If you want to try to do it, I would
be grateful (as I am for the help you've already given me).
Steve Berman
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-07 22:03 ` Stephen Berman
@ 2008-03-08 14:47 ` David
2008-03-08 23:29 ` Stephen Berman
[not found] ` <mailman.8558.1204987691.18990.help-gnu-emacs@gnu.org>
1 sibling, 1 reply; 16+ messages in thread
From: David @ 2008-03-08 14:47 UTC (permalink / raw)
To: help-gnu-emacs
Stephen Berman <Stephen.Berman@gmx.net> writes:
> Ok, I set smtpmail-default-smtp-server to "localhost" and
> smtpmail-auth-credentials to '(("localhost" 2000 "myusername"
> "mypassword")), and indeed it did work -- almost. Since the mail goes
> through localhost, it gets picked up by the postfix server running on my
> system.
You local postfix listens on another port (25), so it should not pick up
the mail. You must have done something wrong in your smtpmail.el
configuration. Here's how it should work:
(setq smtpmail-default-smtp-server "localhost")
(setq smtpmail-smtp-service 2000)
(require 'smtpmail)
(setq send-mail-function 'smtpmail-send-it)
(setq message-send-mail-function 'smtpmail-send-it)
(setq smtpmail-debug-info t)
(setq smtpmail-auth-credentials
'(("localhost" 2000 "name" "pass")))
Note that smtp-server and smtp-service are set before the 'require'
(though I'm not sure if this is still necessary).
> I have postfix configured to relay mail from localhost to
> another server (mail.gmx.net), which is what I use for most of my
> email.
I guess you could configure postfix to use different smart hosts
dependent on the sender address, but I don't know postfix and it's
OT here anyway.
> Unfortunately I don't know what adaptations to smtpmail.el would be
> needed nor how to implement them. If you want to try to do it, I would
> be grateful (as I am for the help you've already given me).
Sorry, I'm afraid I won't have the time to do it. Additionally, I
consider ssmtp to be broken and mail servers usually only support it
because of MS Outlook anyway, so I see no reason to support
this. SMTP+STARTTLS is the right thing to do.
-David
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-08 14:47 ` David
@ 2008-03-08 23:29 ` Stephen Berman
2008-03-09 12:15 ` David
0 siblings, 1 reply; 16+ messages in thread
From: Stephen Berman @ 2008-03-08 23:29 UTC (permalink / raw)
To: help-gnu-emacs
On Sat, 08 Mar 2008 15:47:54 +0100 David <de_bb@arcor.de> wrote:
> Stephen Berman <Stephen.Berman@gmx.net> writes:
>> Ok, I set smtpmail-default-smtp-server to "localhost" and
>> smtpmail-auth-credentials to '(("localhost" 2000 "myusername"
>> "mypassword")), and indeed it did work -- almost. Since the mail goes
>> through localhost, it gets picked up by the postfix server running on my
>> system.
>
> You local postfix listens on another port (25), so it should not pick up
> the mail. You must have done something wrong in your smtpmail.el
> configuration. Here's how it should work:
>
> (setq smtpmail-default-smtp-server "localhost")
> (setq smtpmail-smtp-service 2000)
> (require 'smtpmail)
> (setq send-mail-function 'smtpmail-send-it)
> (setq message-send-mail-function 'smtpmail-send-it)
> (setq smtpmail-debug-info t)
> (setq smtpmail-auth-credentials
> '(("localhost" 2000 "name" "pass")))
When I tried it I had failed to set smtpmail-smtp-service to 2000
(though I did have that port set in smtpmail-auth-credentials), and its
default value is 25, so that explains why postfix intervened.
Unfortunately, when I set it to 2000 as above, it was rejected:
open-network-stream: make client process failed: connection refused,
:name, SMTP, :buffer, *trace of SMTP session to localhost*, :host,
localhost, :service, 2000
I temporarily disabled my firewall in case it was blocking access to
this port, but that didn't help. Same with other high ports I tried.
So I'm still stuck. :( Do you know what the problem could be now?
Steve Berman
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-08 23:29 ` Stephen Berman
@ 2008-03-09 12:15 ` David
2008-03-09 15:35 ` Stephen Berman
0 siblings, 1 reply; 16+ messages in thread
From: David @ 2008-03-09 12:15 UTC (permalink / raw)
To: help-gnu-emacs
Stephen Berman <Stephen.Berman@gmx.net> writes:
> open-network-stream: make client process failed: connection refused,
> :name, SMTP, :buffer, *trace of SMTP session to localhost*, :host,
> localhost, :service, 2000
>
> I temporarily disabled my firewall in case it was blocking access to
> this port, but that didn't help. Same with other high ports I tried.
> So I'm still stuck. :( Do you know what the problem could be now?
Try a privileged port (<1024). You can easily test the stunnel setup by
using 'telnet localhost PORT'; you should then see the mail server
greeting. Otherwise I wouldn't know what the problem is.
-David
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
2008-03-09 12:15 ` David
@ 2008-03-09 15:35 ` Stephen Berman
0 siblings, 0 replies; 16+ messages in thread
From: Stephen Berman @ 2008-03-09 15:35 UTC (permalink / raw)
To: help-gnu-emacs
On Sun, 09 Mar 2008 13:15:02 +0100 David <de_bb@arcor.de> wrote:
> Stephen Berman <Stephen.Berman@gmx.net> writes:
>> open-network-stream: make client process failed: connection refused,
>> :name, SMTP, :buffer, *trace of SMTP session to localhost*, :host,
>> localhost, :service, 2000
>>
>> I temporarily disabled my firewall in case it was blocking access to
>> this port, but that didn't help. Same with other high ports I tried.
>> So I'm still stuck. :( Do you know what the problem could be now?
>
> Try a privileged port (<1024). You can easily test the stunnel setup by
> using 'telnet localhost PORT'; you should then see the mail server
> greeting. Otherwise I wouldn't know what the problem is.
With 'telnet localhost PORT' I only get a connection if PORT is one that
some service is listening on (those with state LISTEN in the output of
`netstat -t -a -p --numeric-ports'), and stunnel is not among those.
Every other value of PORT returns this:
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused
Trying ::1...
telnet: connect to address ::1: Connection refused
Whatever the problem is, it evidently does not have to do with
smtpmail.el, so is at least at this point OT here. If you have any
other ideas or suggestions, I'd be grateful for an email; otherwise I'll
try to pursue this on a more relevant forum. Thanks again for your
help.
Steve Berman
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem
[not found] ` <mailman.8558.1204987691.18990.help-gnu-emacs@gnu.org>
@ 2008-03-09 17:26 ` Richard G Riley
2008-03-12 20:22 ` SMTP library problem [RESOLVED] Stephen Berman
0 siblings, 1 reply; 16+ messages in thread
From: Richard G Riley @ 2008-03-09 17:26 UTC (permalink / raw)
To: help-gnu-emacs
David <de_bb@arcor.de> writes:
> Stephen Berman <Stephen.Berman@gmx.net> writes:
>> Ok, I set smtpmail-default-smtp-server to "localhost" and
>> smtpmail-auth-credentials to '(("localhost" 2000 "myusername"
>> "mypassword")), and indeed it did work -- almost. Since the mail goes
>> through localhost, it gets picked up by the postfix server running on my
>> system.
>
> You local postfix listens on another port (25), so it should not pick up
> the mail. You must have done something wrong in your smtpmail.el
> configuration. Here's how it should work:
>
> (setq smtpmail-default-smtp-server "localhost")
> (setq smtpmail-smtp-service 2000)
> (require 'smtpmail)
> (setq send-mail-function 'smtpmail-send-it)
> (setq message-send-mail-function 'smtpmail-send-it)
> (setq smtpmail-debug-info t)
> (setq smtpmail-auth-credentials
> '(("localhost" 2000 "name" "pass")))
>
> Note that smtp-server and smtp-service are set before the 'require'
> (though I'm not sure if this is still necessary).
>
>> I have postfix configured to relay mail from localhost to
>> another server (mail.gmx.net), which is what I use for most of my
>> email.
>
> I guess you could configure postfix to use different smart hosts
> dependent on the sender address, but I don't know postfix and it's
> OT here anyway.
I use msmtp for this.
,----
| (defun msmtp-change-smtp ()
|
| (setq sendmail-program "/usr/bin/msmtp")
| (setq smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil)))
| (setq smtpmail-smtp-server "smtp.gmail.com")
| (setq message-sendmail-envelope-from 'header)
|
| (if (message-mail-p)
| (save-excursion
| (let* ((from
| (save-restriction
| (message-narrow-to-headers)
| (message-fetch-field "from")))
| (account
| (cond
| ((string-match ".*rileyrgdev.*" from)"rileyrgdev")
*snip*
| ))
| )
| (setq message-sendmail-extra-arguments (list "-a" account))
| )))
| )
|
|
|
| (add-hook 'message-send-hook 'msmtp-change-smtp)
`----
and then, ~/.msmtp
,----
| defaults
| host smtp.gmail.com
| port 587
| auth on
| tls on
| tls_certcheck off
| logfile /tmp/msmtp.log
|
|
| account rileyrgdev
| user rileyrgdev@gmail.com
| password ******
| host myparticular.smtp.host
| from rileyrgdev@gmail.com
|
| ** SNIP**
|
| account default : rileyrgdev
`----
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: SMTP library problem [RESOLVED]
2008-03-09 17:26 ` Richard G Riley
@ 2008-03-12 20:22 ` Stephen Berman
0 siblings, 0 replies; 16+ messages in thread
From: Stephen Berman @ 2008-03-12 20:22 UTC (permalink / raw)
To: help-gnu-emacs
On Sun, 09 Mar 2008 18:26:31 +0100 Richard G Riley <rileyrgdev@gmail.com> wrote:
> David <de_bb@arcor.de> writes:
>
>> Stephen Berman <Stephen.Berman@gmx.net> writes:
>>> Ok, I set smtpmail-default-smtp-server to "localhost" and
>>> smtpmail-auth-credentials to '(("localhost" 2000 "myusername"
>>> "mypassword")), and indeed it did work -- almost. Since the mail goes
>>> through localhost, it gets picked up by the postfix server running on my
>>> system.
[...]
>> I guess you could configure postfix to use different smart hosts
>> dependent on the sender address, but I don't know postfix and it's
>> OT here anyway.
>
> I use msmtp for this.
>
> ,----
> | (defun msmtp-change-smtp ()
> |
> | (setq sendmail-program "/usr/bin/msmtp")
> | (setq smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil)))
[...]
Thanks for posting this. It turns out I don't need it but it did help
me resolve my problem (I deliberately don't say "solve" for reasons
given below, and because my case is almost certainly different than the
OP's).
Before trying your Elisp wrapper I tested msmtp with the --serverinfo
and --port=465 flags and, frustratingly, it returned this:
msmtp: cannot get initial OK message from server
msmtp: server message: 454 TLS connection failed: timed out (#4.3.0)
Since your use with Gmail works and it is also documented in the msmtp
man page, I entered `msmtp --serverinfo --host=smtp.gmail.com --tls=on
--port=587 --tls-certcheck=off' just to see what the output looks like,
and after getting the Gmail server information, on a whim I replaced
smtp.gmail.com with the FDQN of my mail server, leaving the other flags
as they were -- and to my pleasant surprise, it succeeded and returned
the server information. In other words, it worked with port 587 but not
with port 465. Then I went back to my smtpmail.el settings, replaced
465 with 587, and it worked.
I do not understand why, as I reported earlier in this thread, both
KMail and swaks use port 465. Moreover, when I tried port 587 with
swaks it returned this:
*** TLS startup failed (error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol)
This is similar to what telnet to port 465 responds to EHLO with:
454 TLS connection failed: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol (#4.3.0)
In contrast EHLO with telnet to port 587 elicits the server's
properties.
In short, KMail and swaks apparently need to access port 465 on this
server, while telnet, msmtp, and smtpmail.el (or Gnutls) need to access
port 587. If Richard or David or anyone else can account for this
difference, I'd be interested to see it, but in any case, I'm happy I
can finally access this server from within Emacs. And thanks again for
the helpful feedback.
Steve Berman
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2008-03-12 20:22 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-03-04 18:09 SMTP library problem James Long
2008-03-05 11:11 ` Stephen Berman
2008-03-05 12:54 ` David
2008-03-05 19:41 ` Stephen Berman
2008-03-05 23:03 ` David
2008-03-06 0:13 ` Stephen Berman
2008-03-06 11:17 ` David
2008-03-07 14:26 ` Stephen Berman
2008-03-07 15:03 ` David
2008-03-07 22:03 ` Stephen Berman
2008-03-08 14:47 ` David
2008-03-08 23:29 ` Stephen Berman
2008-03-09 12:15 ` David
2008-03-09 15:35 ` Stephen Berman
[not found] ` <mailman.8558.1204987691.18990.help-gnu-emacs@gnu.org>
2008-03-09 17:26 ` Richard G Riley
2008-03-12 20:22 ` SMTP library problem [RESOLVED] Stephen Berman
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.