Reputation: 353
Hi I have RHEL5 with ssmtp installed on it ssmtp-2.61-22.el5.i386.rpm
my /etc/ssmtp/ssmtp.conf updated as below :-
[email protected]
AuthPass=mypassword
FromLineOverride=YES
mailhub=smtp.gmail.com:587
UseSTARTTLS=YES
UseTLS=Yes
RewriteDomain=gmail.com
also revaliases updated as below :
root:[email protected]:smtp.gmail.com:587
i have shutdown sendmail service
when i try to send email with ssmtp i get below error
[root@ctmtest ssmtp]# echo "test" | ssmtp -vvv [email protected]
[<-] 220 smtp.gmail.com ESMTP v26sm42795996pfi.56 - gsmtp
[->] EHLO ctmtest
[<-] 250 SMTPUTF8
[->] STARTTLS
[<-] 220 2.0.0 Ready to start TLS
ssmtp: Cannot open smtp.gmail.com:587
i searched lots of tag with this error , but unable to fix this
my system is able to connect smtp.gmail.com on port 587
[root@ctmtest ssmtp]# telnet smtp.gmail.com 587
Trying 74.125.200.108...
Connected to smtp.gmail.com (74.125.200.108).
Escape character is '^]'.
220 smtp.gmail.com ESMTP o90sm11695907pfi.17 - gsmtp
is there anyone who have fixed this ? please suggest
Upvotes: 22
Views: 64156
Reputation: 441
1. Install ssmtp - Ubuntu:
sudo apt-get install ssmtp
2. Create your Gmail APP Password
3. Configure ssmtp:
sudo vi /etc/ssmtp/ssmtp.conf
4. Below is my configuration
# Config file for sSMTP sendmail # # The person who gets all mail for userids < 1000 # Make this empty to disable rewriting. root=postmaster # The place where the mail goes. The actual machine name is required no # MX records are consulted. Commonly mailhosts are named mail.domain.com # Modified 06/27/2024: # mailhub=mail [email protected] [email protected] #AuthPass=[usual gmail pwd] # aint' gonna work AuthPass=[pwd generated by https://myaccount.google.com/apppasswords] #UseTLS=YES #mailhub=smtp.gmail.com:465 UseSTARTTLS=Yes mailhub=smtp.gmail.com:587 # Where will the mail seem to come from? #rewriteDomain= # The full hostname hostname=laptop # Are users allowed to set their own From: address? # YES - Allow the user to specify their own From: address # NO - Use the system generated From: address FromLineOverride=YES
5. Save the file
6. Run the below command on Ubuntu terminal
echo "Test email body" | ssmtp [email protected]
Upvotes: 0
Reputation: 381
This is my config for outlook365.com that works on Centos 6.10 (Final) - replace all [square brackets] with your own settings:
/etc/ssmtp/ssmtp.conf
root=[[email protected]]
mailhub=smtp.office365.com:587
RewriteDomain=[domain.ext]
# to find out run hostname command in shell
Hostname=[hostname_or_domain]
AuthUser=[[email protected]]
AuthPass=[your_password]
AuthMethod=LOGIN
FromLineOverride=YES
UseTLS=YES
UseSTARTTLS=YES
# Use SSL/TLS certificate to authenticate against smtp host.
# When enabled it was failing to send emails
#UseTLSCert=YES
TLS_CA_File=/etc/pki/tls/certs/ca-bundle.crt
/etc/ssmtp/revaliases
root:[[email protected]]:smtp.office365.com:587
Upvotes: 0
Reputation: 485
I encountered the same problem. The following steps worked for me:
TLS_CA_FILE=/etc/pki/tls/certs/ca-bundle.crt
[email protected]
mailhub=smtp.gmail.com:587
AuthUser=XXXX
AuthPass=XYXYX
UseSTARTTLS=Yes
UseTLS=Yes
hostname=AAAA
Replace: XXXX- username(mail) XYXYX- password(mail password) AAAA- hostname(get by running $hostname)
root:[email protected]:smtp.gmail.com:587
Replace : XXXX - username(mail)
Try running the mail now:
$mail -s "adasdas" [email protected]
CC: XYZLoremIpsum . 'ctrl+D'
It solved my problem. Hopefully for a system(Office) you need to configure correct proxy settings otherwise you will get an error:
cannot send message: Process exited with a non-zero status
Upvotes: 31
Reputation: 137
This should be a comment on Haider Raza's answer, but I am short of 1 rep point to comment lol.
From https://superuser.com/questions/431539/special-characters-in-ssmtp-password
ssmtp has bugs parsing passwords containing '=', ':' or '#'. You can use the following workaround:
feed the password directly in the command line argument
ssmtp -ap "Hash#Password" ...
alternatively put the password in an environment variable.
ssmtp -ap $PASSWD ...
Hope it helped.
Upvotes: 2
Reputation: 1
I ws looking for a solution for cacti smtp mail sender. And found myself actually sending an email using the postfix service . I also used localhost in the postfix config. Thanks!
Upvotes: 0
Reputation: 13047
Mail functions are all highly broken, so are the numerous tutorials on the internet.
This is pretty bad, for something that MUST be EASY for BEGINNERS.
A little panels of unclear errors you will face:
mailx: unrecognized option '-d'
š©
mailx: unrecognized option '-v'
š©
s-nail: Setting up PseudoRandomNumberGenerator: *SSL RAND_*
s-nail: New-style URL used without *v15-compat* being set
/home/you/dead.letter 3/106
s-nail: ... message not sent
š©
s-nail: Connecting to XX.XX.XX.XXX:465 ... connected.
s-nail: SMTP: Resource temporarily unavailable
š©
s-nail: Obsoletion warning: Use of old-style credentials, which will vanish in v15!
š©
s-nail: Obsoletion warning: please don't use *smtp*: assign a smtp:// URL to *mta*!
š©
s-nail: Unexpected EOF on SMTP connection
š©š©š©
No, there is no needs of any credentials to send a simple mail.
STEP 1: Install mail-utils
sudo apt install mailutils
STEP 2: Install mutt
sudo apt install mutt
STEP 3: Run the postfix setup
sudo dpkg-reconfigure postfix
Usage press TAB to select OK
Select "Internet site"
Enter your domain, or whatever
Leave all other settings as default. (Press RETURN till the end)
Mails will then be sent from this email: [email protected]
STEP 4: Apply settings
service postfix reload
STEP 5: Send email
echo "Hello world" | mutt -s "Message sent at $(date)" [email protected] -y
STEP 6: Optional. Change sender email and name. Create a .muttrc file in the home folder.
echo -e "set from = \"[email protected]\"\nset realname = \"Yay\"" > ~/.muttrc
Upvotes: -3
Reputation: 468
On my Gentoo Linux system, the error ssmtp: Cannot open smtp.server.com:port
was caused by an ownership/permissions issue: the file /etc/ssmtp/ssmtp.conf
should belong to the group ssmtp
, which it didn't (and any user allowed to access ssmtp should be a member of that group).
Upvotes: 0
Reputation: 102
first to get your hostname type in terminal : hostname
copy it and past in hostname parameter in ssmtp.conf
Upvotes: 1
Reputation: 4512
This is perhaps because you're not setting the hostname
parameter of ssmtp.conf
. It should be a resolvable, fully-qualified domain name; yours is defaulting to the machine name of ctmtest
(as shown in the EHLO
command that you quote above).
The issue that user963 mentions in their answer may also be in action here, but in that case you'll get a different error message, something like ssmtp: Authorization failed (534 5.7.14 ...)
.
Upvotes: 4
Reputation: 51
try changing this option
Allowing less secure apps to access your account
https://support.google.com/accounts/answer/6010255?hl=en
Upvotes: 5