Changes

From Amahi Wiki
Jump to: navigation, search
2,972 bytes added ,  16:16, 7 September 2015
{{MessageBox|backgroundcolor = #faa|image =Warning.png|heading =WARNING|message = This is recommended only for advanced users, proceed with caution.}}Here's how to enable outgoing emails on your Amahi server.
Note'''NOTE: ''' Make sure to use copy-paste to execute those commands. In particular, they contain back-ticks as the starting string delimiter, which can be hard to find on a keyboard!
To begin with, [[Open Terminal as root|As '''root''' user]]do the following:
== Option 1 (Internet Service Provider) ==<div style="border: 1px solid #A3B1BF; padding: .5em 1em; color: #000; background-color: #E6F2FF; margin: 3px 3px 1em 3px;"pre> SMTP_SERVER=your_isp_smtp_server yum -y install sendmail-cf m4 cd /etc/mail sed -ie "s/.*SMART_HOST.*/define(\`SMART_HOST', \`$SMTP_SERVER')dnl/" sendmail.mc m4 sendmail.mc > makechkconfig sendmail.cf makeon service sendmail restart</divpre>Make sure to replace ''your_isp_smtp_server'' on the first line with the hostname or IP address of your ISP SMTP server.
Make sure If you need to replace connect to the SMTP server using port 587 (TLS/STARTTLS), you'll need to do this too:<pre>cd /etc/mailsed -ie "s/\(.*SMART_HOST.*\)/\1\ndefine(\`RELAY_MAILER_ARGS', \`TCP \$h 587'your_isp_smtp_server)dnl\ndefine(\`ESMTP_MAILER_ARGS', \`TCP \$h 587' on )dnl/" sendmail.mcmakeservice sendmail restart</pre>If you want to use another port than 587, change that number in the first line with above command (it's there twice), before executing it. If you already executed it, edit the hostname or IP address of your ISP SMTP serversendmail.mc file, and search for 587 - it should appear there twice - change both.
If you need to provide a username and password to use the SMTP server, you'll need to do this too:
 <!--<div style="border: 1px solid #A3B1BF; padding: .5em 1em; color: #000; background-color: #E6F2FF; margin: 3px 3px 1em 3px;">
SMTP_SERVER=your_isp_smtp_server
USERNAME=your_smtp_username
PASSWORD=your_smtp_password
cd /etc/mail
chmod 600 access
echo "AuthInfo:$SMTP_SERVER \"U:$USERNAME\" \"P:$PASSWORD\" \"M:PLAIN\"" >> access
makemap -r hash access .db < access sed -ie "s/.*confAUTH_MECHANISMS.*/define(\`confAUTH_MECHANISMS', \`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl\nFEATURE(\`authinfo',\`hash \/etc\/mail\/access')dnl/" sendmail.mc
make
service sendmail restart
</div>--><pre>SMTP_SERVER=your_isp_smtp_serverUSERNAME=your_smtp_usernamePASSWORD=your_smtp_passwordcd /etc/mailchmod 600 accessecho "AuthInfo:$SMTP_SERVER \"U:$USERNAME\" \"P:$PASSWORD\" \"M:PLAIN\"" >> accessmakemap -r hash access.db < accesssed -ie "s/.*confAUTH_MECHANISMS.*/define(\`confAUTH_MECHANISMS', \`EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl\nFEATURE(\`authinfo',\`hash \/etc\/mail\/access')dnl/" sendmail.mcmakeservice sendmail restart</pre>Set sendmail to start on boot<pre>systemctl enable sendmail</pre> == Option 2 (Google Gmail) ==<pre>su -yum -y install sendmail-cf mailxcp /etc/mail/sendmail.mc /etc/mail/sendmail.mc.origvi /etc/mail/sendmail.mc</pre>Near the very bottom before MAILER insert the following lines. Sendmail is picky about the quotation marks: when I first pasted them, they were wrong and gave me a syntax error. This section is a combination of the two sources above which fixes the error in /var/log/maillog “no route to host” which apparently has nothing to do with DNS resolution.<pre>define(`SMART_HOST',`smtp.gmail.com')dnldefine(`RELAY_MAILER_ARGS', `TCP $h 587')dnldefine(`ESMTP_MAILER_ARGS', `TCP $h 587')dnldefine(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnlFEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnlTRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')</pre>Then save. Back in the terminal:<pre>mkdir /etc/mail/authvi /etc/mail/auth/client-infoAuthInfo:smtp.gmail.com "U:root" "I:<YOUR GMAIL USERNAME HERE>@gmail.com" "P:<YOU GMAIL PASSWORD HERE>"</pre>Of course, fill out your real login info, save, and exit. The next section skips the part about the openssl certificates: I ran it, but it didn’t seen to be necessary on Fedora.<pre>cd /etc/mail/authmakemap hash client-info.db < client-infochmod 700 /etc/mail/authchmod 600 /etc/mail/auth/*cd /etc/mailmakesystemctl restart sendmail</pre>Set sendmail to start on boot<pre>systemctl enable sendmail</pre>== Test ==Finally, send a test email.<pre>echo 'this is a test'| mail -s test_email user@example.com</pre>If it fails, read /var/log/maillog and /var/log/messages. Ref: [http://www.techvilleottawa.org/sendmail-smtp-gmail-relay-on-fedora-centos-redhat Sendmail SMTP Gmail Relay on Fedora-Centos-Redhat]
== Troubleshooting ==* If you need to connect to get the SMTP server using port 465 (SSL)message " warning: SASL authentication failure: No worthy mechs found", you'll need to do install this too:package. yum install cyrus-sasl{,-plain}
<div style="border: 1px solid #A3B1BF; padding: .5em 1em; color: #000; background-color: #E6F2FF; margin: 3px 3px 1em 3px;">Restart Sendmail cd /etc/mail echo "define(\`RELAY_MAILER_ARGS', \`TCP \$h 465')dnl" >> systemctl restart sendmail.mc echo "define(\`ESMTP_MAILER_ARGS', \`TCP \$h 465')dnl" >> sendmail.mc m4 sendmail.mc > sendmail.cf make service sendmail restart</div>
12,424

edits