TUTORIAL Install gMail as SMTP SmartHost for SendMail

AndyInNYC

Active Member
Joined
May 23, 2013
Messages
772
Reaction score
124
Here's a cut and past of my sendmail.mc.gmail file:

Code:
divert(-1)dnl
dnl #
dnl # This is the sendmail macro config file for m4. If you make changes to
dnl # /etc/mail/sendmail.mc, you will need to regenerate the
dnl # /etc/mail/sendmail.cf file by confirming that the sendmail-cf package is
dnl # installed and then performing a
dnl #
dnl #    make -C /etc/mail
dnl #
include(`/usr/share/sendmail-cf/m4/cf.m4')dnl
VERSIONID(`setup for linux')dnl
OSTYPE(`linux')dnl
dnl #
dnl # Do not advertize sendmail version.
dnl #
dnl define(`confSMTP_LOGIN_MSG', `$j Sendmail; $b')dnl
dnl #
dnl # default logging level is 9, you might want to set it higher to
dnl # debug the configuration
dnl #
dnl define(`confLOG_LEVEL', `9')dnl
dnl #
dnl # Uncomment and edit the following line if your outgoing mail needs to
dnl # be sent out through an external mail server:
dnl #
define(`SMART_HOST', `smtp.gmail.com')dnl
define(`RELAY_MAILER_ARGS', `TCP $h 587')
define(`ESMTP_MAILER_ARGS', `TCP $h 587')
dnl #
define(`confDEF_USER_ID', ``8:12'')dnl
dnl define(`confAUTO_REBUILD')dnl
define(`confTO_CONNECT', `1m')dnl
define(`confTRY_NULL_MX_LIST', `True')dnl
define(`confDONT_PROBE_INTERFACES', `True')dnl
define(`PROCMAIL_MAILER_PATH', `/usr/bin/procmail')dnl
define(`ALIAS_FILE', `/etc/aliases')dnl
define(`STATUS_FILE', `/var/log/mail/statistics')dnl
define(`UUCP_MAILER_MAX', `2000000')dnl
define(`confUSERDB_SPEC', `/etc/mail/userdb.db')dnl
define(`confPRIVACY_FLAGS', `authwarnings,novrfy,noexpn,restrictqrun')dnl
define(`confAUTH_OPTIONS', `A')dnl
dnl #
dnl # The following allows relaying if the user authenticates, and disallows
dnl # plaintext authentication (PLAIN/LOGIN) on non-TLS links
dnl #
dnl define(`confAUTH_OPTIONS', `A p')dnl
dnl #
dnl # PLAIN is the preferred plaintext authentication method and used by
dnl # Mozilla Mail and Evolution, though Outlook Express and other MUAs do
dnl # use LOGIN. Other mechanisms should be used if the connection is not
dnl # guaranteed secure.
dnl # Please remember that saslauthd needs to be running for AUTH.
dnl #
dnl TRUST_AUTH_MECH(`EXTERNAL DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
define(`confAUTH_MECHANISMS', `EXTERNAL GSSAPI DIGEST-MD5 CRAM-MD5 LOGIN PLAIN')dnl
FEATURE(`authinfo',`hash /etc/mail/auth/client-info')dnl
dnl #
dnl # Rudimentary information on creating certificates for sendmail TLS:
dnl #    cd /usr/share/ssl/certs; make sendmail.pem
dnl # Complete usage:
dnl #    make -C /usr/share/ssl/certs usage
dnl #
dnl define(`confCACERT_PATH', `/etc/pki/tls/certs')dnl
dnl define(`confCACERT', `/etc/pki/tls/certs/ca-bundle.crt')dnl
dnl define(`confSERVER_CERT', `/etc/pki/tls/certs/sendmail.pem')dnl
dnl define(`confSERVER_KEY', `/etc/pki/tls/certs/sendmail.pem')dnl
dnl #
dnl # This allows sendmail to use a keyfile that is shared with OpenLDAP's
dnl # slapd, which requires the file to be readble by group ldap
dnl #
dnl define(`confDONT_BLAME_SENDMAIL', `groupreadablekeyfile')dnl
dnl #
dnl define(`confTO_QUEUEWARN', `4h')dnl
dnl define(`confTO_QUEUERETURN', `5d')dnl
dnl define(`confQUEUE_LA', `12')dnl
dnl define(`confREFUSE_LA', `18')dnl
define(`confTO_IDENT', `0')dnl
dnl FEATURE(delay_checks)dnl
FEATURE(`no_default_msa', `dnl')dnl
FEATURE(`smrsh', `/usr/sbin/smrsh')dnl
FEATURE(`mailertable', `hash -o /etc/mail/mailertable.db')dnl
FEATURE(`virtusertable', `hash -o /etc/mail/virtusertable.db')dnl
FEATURE(redirect)dnl
FEATURE(always_add_domain)dnl
FEATURE(use_cw_file)dnl
FEATURE(use_ct_file)dnl
dnl #
dnl # The following limits the number of processes sendmail can fork to accept
dnl # incoming messages or process its message queues to 20.) sendmail refuses
dnl # to accept connections once it has reached its quota of child processes.
dnl #
dnl define(`confMAX_DAEMON_CHILDREN', `20')dnl
dnl #
dnl # Limits the number of new connections per second. This caps the overhead
dnl # incurred due to forking new sendmail processes. May be useful against
dnl # DoS attacks or barrages of spam. (As mentioned below, a per-IP address
dnl # limit would be useful but is not available as an option at this writing.)
dnl #
dnl define(`confCONNECTION_RATE_THROTTLE', `3')dnl
dnl #
dnl # The -t option will retry delivery if e.g. the user runs over his quota.
dnl #
FEATURE(local_procmail, `', `procmail -t -Y -a $h -d $u')dnl
FEATURE(`access_db', `hash -T<TMPF> -o /etc/mail/access.db')dnl
FEATURE(`blacklist_recipients')dnl
EXPOSED_USER(`root')dnl
dnl #
dnl # For using Cyrus-IMAPd as POP3/IMAP server through LMTP delivery uncomment
dnl # the following 2 definitions and activate below in the MAILER section the
dnl # cyrusv2 mailer.
dnl #
dnl define(`confLOCAL_MAILER', `cyrusv2')dnl
dnl define(`CYRUSV2_MAILER_ARGS', `FILE /var/lib/imap/socket/lmtp')dnl
dnl #
dnl # The following causes sendmail to only listen on the IPv4 loopback address
dnl # 127.0.0.1 and not on any other network devices. Remove the loopback
dnl # address restriction to accept email from the internet or intranet.
dnl #
DAEMON_OPTIONS(`Port=smtp,Addr=127.0.0.1, Name=MTA')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 587 for
dnl # mail from MUAs that authenticate. Roaming users who can't reach their
dnl # preferred sendmail daemon due to port 25 being blocked or redirected find
dnl # this useful.
dnl #
dnl DAEMON_OPTIONS(`Port=submission, Name=MSA, M=Ea')dnl
dnl #
dnl # The following causes sendmail to additionally listen to port 465, but
dnl # starting immediately in TLS mode upon connecting. Port 25 or 587 followed
dnl # by STARTTLS is preferred, but roaming clients using Outlook Express can't
dnl # do STARTTLS on ports other than 25. Mozilla Mail can ONLY use STARTTLS
dnl # and doesn't support the deprecated smtps; Evolution <1.1.1 uses smtps
dnl # when SSL is enabled-- STARTTLS support is available in version 1.1.1.
dnl #
dnl # For this to work your OpenSSL certificates must be configured.
dnl #
dnl DAEMON_OPTIONS(`Port=smtps, Name=TLSMTA, M=s')dnl
dnl #
dnl # The following causes sendmail to additionally listen on the IPv6 loopback
dnl # device. Remove the loopback address restriction listen to the network.
dnl #
dnl DAEMON_OPTIONS(`port=smtp,Addr=::1, Name=MTA-v6, Family=inet6')dnl
dnl #
dnl # enable both ipv6 and ipv4 in sendmail:
dnl #
dnl DAEMON_OPTIONS(`Name=MTA-v4, Family=inet, Name=MTA-v6, Family=inet6')
dnl #
dnl # We strongly recommend not accepting unresolvable domains if you want to
dnl # protect yourself from spam. However, the laptop and users on computers
dnl # that do not have 24x7 DNS do need this.
dnl #
FEATURE(`accept_unresolvable_domains')dnl
dnl #
dnl FEATURE(`relay_based_on_MX')dnl
dnl #
dnl # Also accept email sent to "localhost.localdomain" as local email.
dnl #
LOCAL_DOMAIN(`localhost.localdomain')dnl
dnl #
dnl # The following example makes mail from this host and any additional
dnl # specified domains appear to be sent from mydomain.com
dnl #
MASQUERADE_AS(`dyndns.org')dnl
dnl #
dnl # masquerade not just the headers, but the envelope as well
dnl #
FEATURE(masquerade_envelope)dnl
FEATURE(genericstable, `hash -o /etc/mail/genericstable')
GENERICS_DOMAIN_FILE(`/etc/mail/genericsdomain')dnl
dnl #
dnl # masquerade not just @mydomainalias.com, but @*.mydomainalias.com as well
dnl #
dnl FEATURE(masquerade_entire_domain)dnl
dnl #
dnl MASQUERADE_DOMAIN(localhost)dnl
dnl MASQUERADE_DOMAIN(localhost.localdomain)dnl
dnl MASQUERADE_DOMAIN(dyndns.org)dnl
MASQUERADE_DOMAIN(pbx.local)dnl
MAILER(smtp)dnl
MAILER(procmail)dnl
dnl MAILER(cyrusv2)dnl

Hopefully there isn't any personal info in this file <g>.

Andrew
 
Joined
Jul 6, 2013
Messages
82
Reaction score
28
Anybody got sendmail working with gmail under Incredible GUI for Raspberry Pi 2?
If so then what did you do? I've spent 14 hours on it but still no joy.
 

logos

New Member
Joined
Jul 5, 2011
Messages
10
Reaction score
0
Albert S: That's probably as good as you can do. The site seems to be gone.
It wasn't down... but it HAD moved :) The way FF used to handle some redirects would have caused the endless spinning another poster mentioned.

Pleased that it's helped so many people and continues to do so - I followed this back from a visitor referrer link out of curiosity :) For the record, the redirect URL is http://www.mysolutions.it/gmail-google-apps-pbx-flash/
 
Joined
Jul 6, 2013
Messages
82
Reaction score
28
Anybody got sendmail working with gmail under Incredible GUI for Raspberry Pi 2?
If so then what did you do? I've spent 14 hours on it but still no joy.

I solved my problem for Shawmail (instead of gmail) as follows: I've got my Raspberry Pi on a static IP address but sendmail needs to have the fully qualified DNS name. The Incredible PBX GUI installation scripts seem to expect FQDN but that can only happen on DHCP so here is what I did:

Note that my PBX has hostname: incrediblepbx.local and IP Address: 192.168.1.253
Note my mail provider is not google but rather: mail.shaw.ca which doesn't authenticate.

Code:
Unmangled my /etc/hosts file and included FQDN. The Incredible PBX installation script
wants the file to contain "noreply.incrediblepbx.com" and "raspberrypi" and "pbx.local"
so I left those in but re-ordered the sequences so that it now contains:
  127.0.0.1  localhost pbx.local
  192.168.1.253  incrediblepbx.local incrediblepbx
  #127.0.1.1  noreply.incrediblepbx.com raspberrypi
  127.0.1.1  incrediblepbx.local incrediblepbx noreply.incrediblepbx.com raspberrypi
  #::1  pbx.local localhost ip6-localhost ip6-loopback
  ::1  localhost ip6-localhost ip6-loopback pbx.local
  fe00::0  ip6-localnet
  ff00::0  ip6-mcastprefix
  ff02::1  ip6-allnodes
  ff02::2  ip6-allrouters
  ff02::3  ip6-allhosts

Code:
Fixed my /etc/mailname to contain FQDN like this:
  incrediblepbx.local

Code:
Created the statistics gathering file so I don't get warnings:
  # cp /dev/null /var/lib/sendmail/sendmail.st
  # chmod 666 /var/lib/sendmail/sendmail.st

Code:
Ensured that my /etc/mail/sendmail.mc contains these lines:
  define(`SMART_HOST', mail.shaw.ca)dnl
  MASQUERADE_AS(`incrediblepbx.local')dnl
  define(`confLOG_LEVEL', `15')

Code:
Ran the config generation command:
  # sendmailconfig
  Configure sendmail with the existing /etc/mail/sendmail.conf? [Y] Y
  Configure sendmail with the existing /etc/mail/sendmail.mc? [Y] Y
  Reload the running sendmail now with the new configuration? [Y] Y

Code:
Sent a test email and ensured it was received:
  # echo "incredible" | mail -s test [email protected]
Check for it in gmail.

Then I checked /var/log/syslog and /var/log/mail.log to see if sm-mta has any complaints:
-Note: stat=Service unavailable means the mail could not be sent, for any number of reasons.
-Note: STARTTLS errors don't matter when using Shawmail which does not use encryption.

Received mails on the other hand, can be seen in: /var/mail/root

Success!
 

ostridge

Guru
Joined
Jan 22, 2015
Messages
1,628
Reaction score
520
/etc/apt/
Anybody got sendmail working with gmail under Incredible GUI for Raspberry Pi 2?
If so then what did you do? I've spent 14 hours on it but still no joy.

from Debian 7 -- Errata at https://www.debian.org/releases/whe...ww.debian.org/releases/wheezy/errata#security
says to add the following line to /etc/apt/sources.list
# deb http://security.debian.org/ wheezy/updates main contrib non-free

After that, run apt-get update followed by apt-get upgrade
Regards
 

lrosenman

Guru
Joined
Oct 17, 2014
Messages
221
Reaction score
30
BTW, you do NOT want the leading # in the deb line (that comments it out)
 

Charles Berghuis

New Member
Joined
Nov 23, 2013
Messages
10
Reaction score
1
Hi , Has anybody got the sendmail.mc.gmail file to work with a Raspberry PI 2. I installed my OS "wheezy" and then installed the incrediblepbx. Set the passwords and next tried the sendmail to gmail fix, after a reboot the sendmail was down. I used this fix on PC based systems running CentOS 6.5 and PIAF3 installer with no problems. My PI is fairly new and the only other thing I'm doing is building a extension and then testing.
Thanks
 

Dr. Kupka

New Member
Joined
Jul 3, 2013
Messages
22
Reaction score
7
Are you using a "Raspberry PI 2 Model B" with the "Wheezy" OS?

Yes. 2015-05-05-raspbian-wheezy. Works with Pi Model B as well as Pi 2 Model B.

Install Asterisk 11 and the Raspberry Pi 2
Code:
cd /root
wget http://incrediblepbx.com/incrediblepbx11-12.2.raspbian.tar.gz
tar zxvf incrediblepbx11-12.2.raspbian.tar.gz
rm -f incrediblepbx11-12.2.raspbian.tar.gz
./IncrediblePBX11-12.2-raspbian.sh
Code:
reboot
Press Enter to force current updates
Follow Ward´s brilliant tutorial to Install gMail as SMTP Relay Host for SendMail:
Code:
cd /etc/mail
hostname -f > genericsdomain
touch genericstable
makemap -r hash genericstable.db < genericstable
mv sendmail.mc sendmail.mc.original
wget http://nerdvittles.dreamhosters.com/pbxinaflash/source/sendmail/sendmail.mc.gmail
cp sendmail.mc.gmail sendmail.mc
mkdir -p auth
chmod 700 auth
cd auth
echo AuthInfo:smtp.gmail.com \"U:smmsp\" \"I:user_id\" \"P:password\" \"M:PLAIN\" > client-info
echo AuthInfo:smtp.gmail.com:587 \"U:smmsp\" \"I:user_id\" \"P:password\" \"M:PLAIN\" >> client-info
echo AuthInfo:smtp.gmail.com:465 \"U:smmsp\" \"I:user_id\" \"P:password\" \"M:PLAIN\" >> client-info
# Stop here and edit client-info (nano -w client-info) in both lines.
# Replace  user_idwith your gMail account name without @gmail.com
# Replace password with your real gMail password
# Be sure to replace the double-quotes shown above if they don't appear in the file!!!
# Save your changes (Ctrl-X, Y, then Enter)
chmod 600 client-info
makemap -r hash client-info.db < client-info
cd ..
Stop here and insert the following code:
"Make" expects the non-existing folder /usr/share/sendmail-cf instead of the existing folder /usr/share/sendmail/cf
Code:
mkdir /usr/share/sendmail-cf/
chmod 755 /usr/share/sendmail-cf/
mount --bind /usr/share/sendmail/cf /usr/share/sendmail-cf/
echo "/usr/share/sendmail/cf/ /usr/share/sendmail-cf none bind 0 0" >> /etc/fstab

Complete with the rest of Ward´s code:
Code:
make -C /etc/mail
service sendmail restart
Code:
reboot
If failure persists:
Code:
sendmailconfig
  Configure sendmail with the existing /etc/mail/sendmail.conf? [Y] Y
  Configure sendmail with the existing /etc/mail/sendmail.mc? [Y] Y
  Reload the running sendmail now with the new configuration? [Y] Y
 
Last edited:

SMTC

Member
Joined
Jan 22, 2009
Messages
190
Reaction score
13
what about the line:
yum -y install sendmail-cf
???????
 

Dr. Kupka

New Member
Joined
Jul 3, 2013
Messages
22
Reaction score
7
It does not seem to be necessary on 2015-05-05-raspbian-wheezy / Pi2:
Code:
apt-get install -y sendmail-cf
Code:
sendmail-cf is already the newest version.
 
Last edited:

Members online

No members online now.

Forum statistics

Threads
25,809
Messages
167,744
Members
19,239
Latest member
dbradford
Get 3CX - Absolutely Free!

Link up your team and customers Phone System Live Chat Video Conferencing

Hosted or Self-managed. Up to 10 users free forever. No credit card. Try risk free.

3CX
A 3CX Account with that email already exists. You will be redirected to the Customer Portal to sign in or reset your password if you've forgotten it.
Top