View previous topic :: View next topic |
Author |
Message |
ellotheth Tux's lil' helper
Joined: 30 Aug 2005 Posts: 123
|
Posted: Wed Dec 14, 2005 5:25 am Post subject: TIP: Gmail and sSMTP |
|
|
TIP: Gmail and sSMTP
I recently set up Mutt with several non-Gmail accounts. When my non-Gmail SMTP server became a shade unreliable, I decided to use my Gmail SMTP server instead. (That's right, my Gmail server with non-Gmail email addresses.) Thus began several hours worth of forum-combing, Google-combing, documentation-combing, code-combing, and solution-by-trial-and-error. After much toil, I emerged triumphant, and I thought I'd use my newfound knowledge to spare similar hapless souls.
Gmail miscellany
- Read Gmail's POP3 instructions for "other" mail clients.
- Gmail's default behavior is to overwrite any unrecognized header information with its own. So if you're composing an email as <thetove@jabberwocky.com> in Mutt/Thunderbird/what-have-you and you send it via your <slithy.tove@gmail.com> account, it will arrive as an email from <slithy.tove@gmail.com>, with the <thetove@jabberwocky.com> nowhere in sight. Hardly ideal. You need to add "Custom From Addresses" in your Gmail account settings to preserve header info from non-Gmail addresses. Go to the "Accounts" section of "Settings." Add every account with which you plan to use the Gmail SMTP server, and don't forget to specify the reply-to.
sSMTP
Here's the part that sent me spinning across the internet. Gmail and sSMTP don't play nice without a little coaxing, and clear documentation is sparse.
- Basic configuration documention/information is located in the default /etc/ssmtp/ssmtp.conf, so read it. Really. This is just a tip, not a HowTo. Jeez. Also read the contents of /usr/share/doc/ssmtp*/.
- sSMTP needs port 587. It won't work (or rather, it doesn't for me) with 465, even if Google says it should. Hence:
Code: | mailhub=smtp.gmail.com:587 |
It's just STARTTLS. Not STARTTLS and SSL, nor STARTTLS and TLS. Just STARTTLS:
Login info can be put on the command line; I prefer to stuff it in here: Code: | AuthUser=slithy.tove@gmail.com
AuthPass=twasbrillig | Authentication method (AuthMethod) defaults to LOGIN, which is what we want.
sSMTP needs to be told to pay attention to header info, too: Code: | FromLineOverride=YES |
Caveat: With the above settings, your header info will still contain some references to Gmail: in particular, Return-Path and Sender will point to your gmail address by default. It doesn't bother me, so I haven't researched whether that's configurable.
That's it, you're golden. Happy...uh, non-Gmail Gmailing.
If this tip has been useful to you, let me know, yo. If it's completely unintelligible and worthless, let me know that too. I haven't written documentation in a long time, and I may well be out of practice. _________________ monjoy |
|
Back to top |
|
|
Sheepdogj15 Guru
Joined: 07 Jan 2005 Posts: 430 Location: Backyard
|
Posted: Fri Dec 16, 2005 5:20 am Post subject: Re: TIP: Gmail and sSMTP |
|
|
ellotheth wrote: | Code: | AuthUser=slithy.tove@gmail.com
AuthPass=twasbrillig |
|
i'm going to assume this isn't your real password.
hmm, interesting. right now i'm looking for a way to set up my Gentoo router/firewall box to send me alerts should someone attempt to hack it. this will definitely help (if you haven't noticed despite the "Guru" in my postbit i'm a bit of a newb at heart... i didn't even know Linux can send mail to me until today ) _________________ Sheepdog
Why Risk It? | Samba Howto |
|
Back to top |
|
|
ellotheth Tux's lil' helper
Joined: 30 Aug 2005 Posts: 123
|
Posted: Fri Dec 16, 2005 12:56 pm Post subject: |
|
|
Sheepdogj15 wrote: | i'm going to assume this isn't your real password. |
O botheration! No one was supposed to guess!
Sheepdogj15 wrote: | i didn't even know Linux can send mail to me until today |
Don't worry, I'm in roughly the same boat. "What are all these weird dead.letters in $HOME? Cron is trying to email me?! Cool!" _________________ monjoy |
|
Back to top |
|
|
oliver Apprentice
Joined: 25 Jun 2003 Posts: 170
|
Posted: Fri Dec 16, 2005 3:46 pm Post subject: |
|
|
I think cron only does that if your scripts generate output - send all to /dev/null (or an appropriate log file) and they'll stop |
|
Back to top |
|
|
ellotheth Tux's lil' helper
Joined: 30 Aug 2005 Posts: 123
|
Posted: Fri Dec 16, 2005 4:01 pm Post subject: |
|
|
oliver wrote: | I think cron only does that if your scripts generate output - send all to /dev/null (or an appropriate log file) and they'll stop |
Thanks, I did find that. It was really confusing for a while, though. _________________ monjoy |
|
Back to top |
|
|
jimonade Tux's lil' helper
Joined: 21 Apr 2004 Posts: 92 Location: USA, West Lafayette, IN
|
Posted: Wed Jan 25, 2006 3:57 am Post subject: |
|
|
i've tried various combos including the above as well as from (https://forums.gentoo.org/viewtopic-p-3011748.html) and i get the following or nothing...
Code: | mail -s "testing ssmtp" jim@example.com
...
send-mail: Cannot open gmail.smtp.com:587
Can't send mail: sendmail process failed with error code 1 |
any suggestions? or, could someone post their working (gmail) ssmtp.conf? |
|
Back to top |
|
|
ellotheth Tux's lil' helper
Joined: 30 Aug 2005 Posts: 123
|
Posted: Wed Jan 25, 2006 2:08 pm Post subject: |
|
|
jimonade wrote: | Code: | send-mail: Cannot open gmail.smtp.com:587 |
|
Should be smtp.gmail.com, I believe. Here's my ssmtp.conf:
Code: | root=myroot@mymail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
FromLineOverride=YES
UseSTARTTLS=YES
AuthUser=myemail@gmail.com
AuthPass=foobar |
_________________ monjoy |
|
Back to top |
|
|
jimonade Tux's lil' helper
Joined: 21 Apr 2004 Posts: 92 Location: USA, West Lafayette, IN
|
Posted: Wed Jan 25, 2006 9:54 pm Post subject: |
|
|
thanks so much for the reply. ssmtp is now working.
i think my problem was the revaliases file-- i had gmail.smpt.com isntead of smtp.gmail.com.
the below ssmtp.conf works even if all revaliases are comment out. then again, its just me and root on this box.
ssmtp.conf
Code: | root=jimonade@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=jimonade@gmail.com
FromLineOverride=YES
UseSTARTTLS=YES
AuthUser=jimonade
AuthPass=samplepasswd |
revaliases
Code: | root:jimonade@gmail.com:smtp.gmail.com:587
jim:jimonade@gmail.com:smtp.gmail.com:587 |
thank you ellotheth and thank you google. |
|
Back to top |
|
|
Ravak n00b
Joined: 03 Feb 2006 Posts: 54 Location: GB/PL
|
Posted: Fri Feb 03, 2006 4:53 pm Post subject: |
|
|
By default:
Code: | -rw-r--r-- 1 root root 1285 lut 3 16:08 ssmtp.conf |
So if you have any additional users/accounts I'd be careful with it.
Now by:
Code: | -rw-r----- 1 root root 1285 lut 3 16:08 ssmtp.conf |
Only root and his group can view the config. Unfrotunatenly, also only root can send mail.
So my question is how to secure config file without restricting access to mail service. I'd like to make one or two accounts for family members yet I dont want them to know my passes.
Thanks. |
|
Back to top |
|
|
jimonade Tux's lil' helper
Joined: 21 Apr 2004 Posts: 92 Location: USA, West Lafayette, IN
|
Posted: Fri Feb 03, 2006 5:03 pm Post subject: |
|
|
have my ssmtp.conf at chmod 640, so im in the same boat... only root can send with ssmtp.
i only really wanted ssmtp setup so that i could have cron jobs email me stuff periodically so it suits my needs. but i can see how you'd want to enable this for users as well as root while not allowing users to see the plain text passwords.
if anyone knows how to save the ssmtp password in a chmod 640 file and reference it in ssmtp.conf allowing all system users to email with ssmtp, please share!
edit: chmod 640 so that root's group has read access |
|
Back to top |
|
|
troworld Tux's lil' helper
Joined: 20 Dec 2003 Posts: 95 Location: ON, CA
|
Posted: Sun Mar 12, 2006 5:48 pm Post subject: |
|
|
I'm getting:
Code: | mail -v -s "testing ssmtp" myemail
asdlfjhasdfasd
fasdfasdf
Cc:
[<-] 220 mx.gmail.com ESMTP e11sm2652278qbc
[->] EHLO email@gmail.com
[<-] 250 ENHANCEDSTATUSCODES
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
[->] EHLO email@gmail.com
[<-] 250 ENHANCEDSTATUSCODES
Can't send mail: sendmail process failed |
I have mailx and "emerge -av ssmtp" says:
Code: | [ebuild R ] mail-mta/ssmtp-2.61 USE="ipv6 mailwrapper md5sum ssl" |
|
|
Back to top |
|
|
destr0yr Tux's lil' helper
Joined: 29 Nov 2003 Posts: 80 Location: Kelowna, BC.
|
Posted: Sat Apr 15, 2006 3:24 am Post subject: |
|
|
troworld wrote: |
I have mailx and "emerge -av ssmtp" says:
Code: | [ebuild R ] mail-mta/ssmtp-2.61 USE="ipv6 mailwrapper md5sum ssl" |
|
This works for me:
Code: | [ebuild R ] mail-mta/ssmtp-2.61 USE="ipv6 -mailwrapper -md5sum ssl" |
Do you absolutely require mailwrapper and md5sum? Try it without for testing purposes... |
|
Back to top |
|
|
HotBBQ Apprentice
Joined: 03 Mar 2004 Posts: 275 Location: West Melbourne, FL
|
Posted: Mon Apr 17, 2006 5:35 pm Post subject: |
|
|
I having problems with secure connection. Here is the error I am receiving:
Code: | adam@Beast ~ $ mail -v -s "ssmtp test" adbowers@gmail.com
Hope this works.
Cc:
[<-] 220 mx.gmail.com ESMTP i35sm736090wxd
[->] HELO Beast
[<-] 250 mx.gmail.com at your service
[->] MAIL FROM:<adbowers@gmail.com>
[<-] 530 5.7.0 Must issue a STARTTLS command first i35sm736090wxd
send-mail: 530 5.7.0 Must issue a STARTTLS command first i35sm736090wxd
Can't send mail: sendmail process failed with error code 1
|
My ssmtp.conf:
Code: | root=adbowers@gmail.com
mailhub=smtp.gmail.com:587
rewriteDomain=
hostname=adbowers@gmail.com
FromLineOverride=YES
UseSTARTTLS=YES
AuthUser=adbowers
AuthPass=*** |
Edit
Removing md5sum and mailwrapper from my use flags and recompiling seems to have fixed the problem. I cannot, however, mail with a user other than root. _________________ "If tyranny and oppression come to this land, it will be in the guise of fighting a foreign enemy." -- James Madison |
|
Back to top |
|
|
Elorian n00b
Joined: 26 Mar 2004 Posts: 31 Location: Canada
|
Posted: Tue Apr 18, 2006 7:39 pm Post subject: |
|
|
Excellent HOWTO. Worked perfectly the first time through. |
|
Back to top |
|
|
destr0yr Tux's lil' helper
Joined: 29 Nov 2003 Posts: 80 Location: Kelowna, BC.
|
Posted: Tue Apr 18, 2006 8:49 pm Post subject: |
|
|
HotBBQ wrote: |
Edit
Removing md5sum and mailwrapper from my use flags and recompiling seems to have fixed the problem. I cannot, however, mail with a user other than root. |
What do you have in /etc/ssmtp/revaliases?
AFAIK, it should be:
Code: | root:user@gmail.com:smtp.gmail.com:587
linuxuser1:user@gmail.com:smtp.gmail.com:587
linuxuser2:user@gmail.com:smtp.gmail.com:587
...
|
<shameless plug>http://www.destr0yr.com/article.php/Gmail_and_sSMTP</shameless plug> |
|
Back to top |
|
|
gasparov Tux's lil' helper
Joined: 13 Apr 2006 Posts: 105
|
Posted: Wed Jul 26, 2006 4:31 pm Post subject: |
|
|
Hi,
I can't make it work
When I try to sendmail I can't write any body/or subject Code: | echo lol|mail -v my@gmail.com -s "lol"
[<-] 220 mx.gmail.com ESMTP q13sm1257758qbq
[->] EHLO my@gmail.com
[<-] 250 ENHANCEDSTATUSCODES
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
[->] EHLO my@gmail.com
[<-] 250 ENHANCEDSTATUSCODES
[->] AUTH LOGIN bHVjYS5nYXNwZXJpbmk=
[<-] 334 UGFzc3dvcmQ6
[->] aWNzLjEzNzY=
[<-] 235 2.7.0 Accepted
[->] MAIL FROM:<my@gmail.com>
[<-] 250 2.1.0 OK
[->] RCPT TO:<my@gmail.com>
[<-] 250 2.1.5 OK
[->] RCPT TO:<lol@my@gmail.com>
[<-] 250 2.1.5 OK
[->] DATA
[<-] 354 Go ahead
[->] Received: by my@gmail.com (sSMTP sendmail emulation); Wed, 26 Jul 2006 18:20:50 +0200
[->] From: "root" <my@gmail.com>
[->] Date: Wed, 26 Jul 2006 18:20:50 +0200
[->]
[->] .
[<-] 250 2.0.0 OK 1153930856 q13sm1257758qbq
[->] QUIT
[<-]
|
As you can see two messages are sent,one is sento to lol@my@gmail.com ,the -s (even tried -S and moving it's position) doesn't work.
So I get a delivery notification on my account,the weird thing is that i don't get any mail on my account
For example this command
Code: | echo lol|mail -v my@gmail.com
[<-] 220 mx.gmail.com ESMTP e16sm3775825qbe
[->] EHLO my@gmail.com
[<-] 250 ENHANCEDSTATUSCODES
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
[->] EHLO my@gmail.com
[<-] 250 ENHANCEDSTATUSCODES
[->] AUTH LOGIN bHVjYS5nYXNwZXJpbmk=
[<-] 334 UGFzc3dvcmQ6
[->] aWNzLjEzNzY=
[<-] 235 2.7.0 Accepted
[->] MAIL FROM:<my@gmail.com>
[<-] 250 2.1.0 OK
[->] RCPT TO:<my@gmail.com>
[<-] 250 2.1.5 OK
[->] DATA
[<-] 354 Go ahead
[->] Received: by my@gmail.com (sSMTP sendmail emulation); Wed, 26 Jul 2006 18:27:22 +0200
[->] From: "root" <my@gmail.com>
[->] Date: Wed, 26 Jul 2006 18:27:22 +0200
[->]
[->] .
[<-] 250 2.0.0 OK 1153931248 e16sm3775825qbe
[->] QUIT
[<-]
|
Says all "ok" but no mail arrive on my@gmail.com,so sending stuff seems to work because if i put a wrong email address after the mail command i get a delivery notification in my account but nothing is really sent,at least nothing arrives |
|
Back to top |
|
|
smdeep n00b
Joined: 14 Feb 2005 Posts: 6
|
Posted: Sat Aug 05, 2006 6:45 pm Post subject: |
|
|
Hi
Excellent howto. Just got it working!
Thanks!
Sudeep |
|
Back to top |
|
|
mikegpitt Advocate
Joined: 22 May 2004 Posts: 3224
|
Posted: Sun Aug 13, 2006 8:36 pm Post subject: |
|
|
Great tip... FYI this also works on gmail for domains. |
|
Back to top |
|
|
nosatalian Tux's lil' helper
Joined: 09 Apr 2004 Posts: 98
|
Posted: Sun Sep 17, 2006 10:42 pm Post subject: desperation |
|
|
I can't seem to get this to work. My config files are exactly as everyone elses, but with the most recent (~arch) and stable in portage, I get a segfault when trying to connect. With older ssmtp versions, I just get a failure "Must issue a STARTTLS command first" even though my config file is identical, and I've already specified UseSTARTTLS=YES .
I get this segfault with the newer versions in portage, after getting past this step, and I can verify that it occurs on two different machines- one amd64, and one i686. I've made sure on both that my CFLAGS are minimal. |
|
Back to top |
|
|
Cagnulein l33t
Joined: 18 Sep 2003 Posts: 861 Location: Modena, Italy
|
Posted: Wed Sep 20, 2006 11:14 am Post subject: |
|
|
Little offtopic:
is there a way to store all the sent mail on a folder readable by mutt? I have already an imap server on my pc that stores incoming mail, now i want to store sent too (using my ISP SMTP server (tin.it)) . I think ssmtp it was i looking for, at least for the first target..
Thanks |
|
Back to top |
|
|
Reistlin n00b
Joined: 06 Sep 2005 Posts: 3
|
Posted: Sat Sep 30, 2006 11:24 pm Post subject: Re: desperation |
|
|
nosatalian wrote: | I can't seem to get this to work. My config files are exactly as everyone elses, but with the most recent (~arch) and stable in portage, I get a segfault when trying to connect. With older ssmtp versions, I just get a failure "Must issue a STARTTLS command first" even though my config file is identical, and I've already specified UseSTARTTLS=YES .
I get this segfault with the newer versions in portage, after getting past this step, and I can verify that it occurs on two different machines- one amd64, and one i686. I've made sure on both that my CFLAGS are minimal. | The same problem for me. sSMTP segfaults while trying to establish secure connection. Hovewer I run the stable amd64 with very few ~amd64 packages. Core dump shows nothing about origin of the error |
|
Back to top |
|
|
Thesee Tux's lil' helper
Joined: 02 Jun 2004 Posts: 138 Location: Belgium
|
Posted: Tue Oct 10, 2006 11:05 am Post subject: |
|
|
Cagnulein: a way to store all "sent mails" sent from mutt to a directory readable by mutt could achieved by writing this in your .muttrc:
Code: | set record=+~/mail/sent-mail |
Great howto by the way! I had it working with postfix, then, for an unknown reason, it didn't work anymore, and then I discovered this, and *WHAM* it works again! _________________ How does a UNIX expert have sex?
Unzip; strip; touch; finger; mount; fsck; more; yes; unmount; sleep. |
|
Back to top |
|
|
krisse Guru
Joined: 15 Mar 2005 Posts: 325 Location: Sweden
|
Posted: Thu Mar 01, 2007 5:23 pm Post subject: |
|
|
Everything works well when mails are sent to a complete email address (name@domain), however when trying to send to a local user "name", the mails is sent to "namegmailuser@gmail.com". That is, local username "name" is just prefixed to my gmail address.
Yes, I have a entry in /etc/ssmtp/revaliases.
The mail is sent by cron. (Sure, I can set the mail address in crontab to something else. But that's not a fix, just a way around the problem.) |
|
Back to top |
|
|
lcidw Tux's lil' helper
Joined: 18 Oct 2004 Posts: 77
|
Posted: Tue Mar 20, 2007 10:49 am Post subject: Re: desperation |
|
|
Reistlin wrote: | nosatalian wrote: | I can't seem to get this to work. My config files are exactly as everyone elses, but with the most recent (~arch) and stable in portage, I get a segfault when trying to connect. With older ssmtp versions, I just get a failure "Must issue a STARTTLS command first" even though my config file is identical, and I've already specified UseSTARTTLS=YES .
I get this segfault with the newer versions in portage, after getting past this step, and I can verify that it occurs on two different machines- one amd64, and one i686. I've made sure on both that my CFLAGS are minimal. | The same problem for me. sSMTP segfaults while trying to establish secure connection. Hovewer I run the stable amd64 with very few ~amd64 packages. Core dump shows nothing about origin of the error |
Build ssmtp without md5sum and mailwrapper.. It's one of those, too lazy to check which one. Had the same segfaults and with only the ssl flag, it works like a baby in water. |
|
Back to top |
|
|
nosatalian Tux's lil' helper
Joined: 09 Apr 2004 Posts: 98
|
Posted: Fri Mar 23, 2007 7:53 am Post subject: |
|
|
Weeks later, this is still dreadfully broken. I've tried with every combination of use flags. I was using esmtp after I gave up on this, but that doesn't work any longer either- I get weird 0 (null) messages. I'm not sure how this is working for everyone else. |
|
Back to top |
|
|
|