Gmail Werkruimte / Gmail Suite e-Mail versturen vanaf server met msmtp

We zijn aan het migreren naar Gmail, om het beheer van een mailserver te kunnen delegeren.

We gebruikten ssmtp op onze server om mails te versturen, met onze eigen mailserver (Zimbra).

Ik ben er nu in geslaagd om Gmail Workspace aan de praat te krijgen, en wil graag wat tips met je delen over hoe dat moet.

Dit is gedaan op een Debian / Ubuntu systeem.

Instellen van 2 factor authenticatie

Log in op uw Google-account:

https://myaccount.google.com/

Klik op het tabblad Beveiliging en scroll naar beneden naar 2-staps-verificatie, schakel deze in.

afbeelding

U zult waarschijnlijk uw mobiele telefoonnummer aan Google moeten geven of hier een andere optie kiezen.

Een App-wachtwoord instellen

Klik op "App passwords" onder de 2-Step Verification.

Google zal u vragen om opnieuw in te loggen.

afbeelding

(Merk op dat ik al een app wachtwoord heb ingesteld, je scherm kan er in het begin een beetje anders uitzien)

Klik op Select app, en selecteer Other (aangepaste naam)

afbeelding

U kunt elke naam invoeren die u wilt - het is voor uw referentie. Bijvoorbeeld,

afbeelding

Klik op Genereer

Een popup venster zal verschijnen. Het wachtwoord van uw app wordt slechts één keer getoond, dus zorg ervoor dat u het kopieert.

afbeelding

Merk op dat het wachtwoord gewoon wordt weergegeven als vier segmenten van elk vier tekens om gemakkelijker te lezen te zijn, zullen er geen spaties zijn in het eigenlijke wachtwoord.

In dit geval is het wachtwoord

lwsznhkychasbbrh

Klik op Gereed.

Overschakelen naar msmtp

ssmtp wordt niet meer onderhouden, en zal mogelijk ook problemen hebben om verbinding te maken met Gmail:

/var/log/syslog:15 okt 09:52:22 Athena sSMTP[19076]: SSL-verbinding met ECDHE_ECDSA_CHACHA20_POLY1305
/var/log/syslog:15 okt 09:52:22 Athena sSMTP[19076]: Autorisatie mislukt (535 5.7.8 
https://support.google.com/mail/?p=BadCredentials ************.79 - gsmtp)

ssmtp: Autorisatie mislukt (535 5.7.8  https://support.google.com/mail/?p=BadCredentials *************.4 - gsmtp)

Blijkbaar is het ECDHE auth gedeelte kan een probleem zijn voor sommige gebruikers op nieuwere systemen.

De workaround is om over te schakelen naar msmtp.

Verwijder ssmtp (alle commando's worden als root uitgevoerd)

apt-get purge ssmtp

Installeer msmtp

apt-get install msmtp msmtp-mta

Opzetten msmtp

nano /etc/msmtprc

Zet de volgende gegevens erin:

standaardwaarden
aansturen
tls aan
tls_starttls aan
tls_trust_file /etc/ssl/certs/ca-certificates.crt
logfile /var/log/msmtp.log

account gmail
host smtp.gmail.com
poort 587

van user@example.com
gebruiker user@example.com
wachtwoord lwsznhkychasbbrh

account standaard : gmail

Wijzig uw inloggegevens (van, gebruiker, en wachtwoord - Ik heb lwsznhkychasbbrh uit het voorbeeld hierboven).

Merk op dat u geen dienst opnieuw hoeft te starten of iets dergelijks - de toegangsgegevens zullen worden gebruikt voor de volgende e-mail die de server probeert te verzenden.

Gebruik de app-wachtwoord hierboven gegenereerd - uw account wachtwoord zal niet werken:

msmtp: authenticatie mislukt (methode PLAIN)
msmtp: server bericht: 534-5.7.9 Toepassingsspecifiek wachtwoord vereist. Meer informatie vindt u op
msmtp: server bericht: 534 5.7.9 
https://support.google.com/mail/?p=InvalidSecondFactor *************.29 - gsmtp
msmtp: kon geen mail versturen (account standaard uit /etc/msmtprc)

Let er ook op dat het app-wachtwoord moet worden ingevoerd zonder spaties tussen de tekens (zoals hierboven besproken)

Beveilig dit bestand (het bevat login gegevens!):

chmod 600 /etc/msmtprc

afbeelding

Minder veilige apps mogelijk maken

https://admin.google.com/u/2/ac/security/lsa

Helaas, je zult ook in staat moeten stellen Minder veilige apps toegang voor uw accounts in Google Admin, anders zou u dezelfde foutmelding blijven krijgen:

msmtp: authenticatie mislukt (methode PLAIN)
msmtp: server bericht: 535-5.7.8 Gebruikersnaam en wachtwoord niet geaccepteerd. Meer informatie vindt u op
msmtp: server bericht: 535 5.7.8  https://support.google.com/mail/?p=BadCredentials **********.34 - gsmtp
msmtp: kon geen mail versturen (account standaard uit /etc/msmtprc)

afbeelding

Verander dit in "Sta gebruikers toe hun toegang tot minder veilige apps te beheren" en klik op Save.

Stuur een testbericht

Als alles correct werkt, kunt u nu een testbericht verzenden:

echo 'test' | msmtp ceo@example.com

Als dit commando zonder foutmelding terugkomt, dan werkt alles.

Als u de weergave App-wachtwoorden vernieuwt, zult u ook zien dat het app-wachtwoord is gebruikt ("laatst gebruikt"):

afbeelding

(volgens mijn tests is dit echter niet altijd accuraat).

Als het zou niet werkt, zou je een output krijgen zoals de volgende:

msmtp: authenticatie mislukt (methode PLAIN)
msmtp: server bericht: 535-5.7.8 Gebruikersnaam en wachtwoord niet geaccepteerd. Meer informatie vindt u op
msmtp: server bericht: 535 5.7.8 
https://support.google.com/mail/?p=BadCredentials ***********.9 - gsmtp
msmtp: kon geen mail versturen (account standaard uit /etc/msmtprc)

Opmerking: Deze foutmelding verschijnt ook als u uw app-wachtwoord verwijdert met het prullenbakpictogram dat u hierboven ziet. Dit is trouwens een handige functie van de app-wachtwoorden: als u een inbreuk vermoedt, kunt u gewoon het app-wachtwoord verwijderen en uw toestel instellen met een ander app-wachtwoord.

Als u deze fout blijft krijgen, controleer dan of u minder veilige apps hebt ingeschakeld, zoals ik u heb opgedragen (hierboven).

Opmerking II: u krijgt informatie over vers aangemaakte app-wachtwoorden in uw e-mailaccount:

afbeelding

Opmerking III: u krijgt ook de verzonden berichten in uw map met verzonden berichten:

afbeelding

Ref

Bonus

Google vermeldt hun tarieflimieten op deze pagina:

  • 10.000 ontvangers per dag voor de SMTP-relaydienst (vereist een statisch IP-adres of een geldige G Suite-gebruikersaanmelding)
  • 2.000 berichten per dag voor de Gmail SMTP