Hur man sätter Upp en E-Agent för Command Line E-post

0
190

Med din server för att skicka e-post är ett enkelt sätt att få meddelanden från bash-skript, program och cron-jobb. Kommandoraden e-post fungerar på samma sätt som personlig e-post, och är lätt att konfigurera och använda.

Hur Fungerar Kommandoraden För E-Arbete?

När e-post är att resa ner rören av Internet, det är vanligtvis skickas över Simple Mail Transfer Protocol, eller SMTP. Den server som hanterar skicka e-post kallas för en SMTP-server, och för många gratis e-postleverantörer (Gmail, Yahoo, etc.) ge SMTP-servrar för gratis. Detta är bra för denna användning, eftersom du bara kommer att behöva konfigurera kommandoraden app som gör sändningen.

Denna app kallas ett Mail Transfer Agent (MTA), och hanterar kommunikationen med SMTP-servern. Du måste autentisera, MTA med den SMTP-server, som är oftast så enkelt som att ge det till dina lösenord eller nyckel. Sedan, MTA kommer att kunna agera som du, och skicka e-post från ditt konto.

Om du planerar att skicka e-post ut till slutanvändare, måste du konfigurera mer information med din SMTP-leverantör. Detta innebär oftast att verifiera din domän med DKIM-och SPF-autentisering, vilket visar att du äger domänen och inte spoofing din adress. Du kan göra detta med Gmail, men om du skickar ut en massa e-post, bör du använda en affärslösning som Amazon SES.

Hur att Installera och Konfigurera Postfix

Den enklaste lösningen för command line e-post är att använda Postfix som en MTA, med hjälp av en gratis SMTP-server som Gmail. Gmail är hastigheten begränsad till 100 mail per dag, vilket är tillräckligt sannolikt för enkel e-postmeddelanden. Om du behöver mer än det, kan du använda Amazon SES eller SendGrid, som bör vara både drop-in ersättning för Gmail ‘ s SMTP-server i det här exemplet.

Postfix kan också köra sin egen SMTP-server, men det är att det är svårare att konfigurera och mindre kompatibel med extern mottagare såvida du inte har konfigurerat domänen kontroll.

Installera Postfix och libsasl2-modules, ett paket för att hantera SMTP-autentisering, från din distribution har package manager. För Debian-baserade system som Ubuntu, som skulle vara:

sudo apt-get install postfix libsasl2-modules

Som Postfix installeras, kommer det att fråga dig under konfigurationen. På den första skärmen väljer du “Internet Site”, som kommer att konfigurera Postfix för att använda SMTP.

Nästa meddelande kommer att be om dina domännamn. Du behöver inte ett domännamn som ska användas för Postfix, men du kommer att behöva en för att ha din e-post som skickas från denna domän namn. I detta exempel, utan att ange domän namn, din e-post kommer från Gmail-konto som du har konfigurerat för Postfix.

Nästa, du måste autentisera Postfix. Du kan använda din Gmail-lösenord, vilket är bra om du skapar ett nytt konto bara för Postfix, men om du använder ditt personliga konto, behöver du skapa en app lösenord. På detta sätt, lösenord kan när som helst återkallas. Observera att du kommer att behöva två-faktor autentisering aktiverat för att använda appen lösenord.

Postfix butiker autentisering detaljer i /etc/postfix/sasl/sasl_passwd. Den här filen kan inte vara det som standard, så att du kan skapa den med touch. Öppna den och klistra in i din information i:

[smtp.gmail.com]:587 username@gmail.com:password

Detta ställer Postfix för att använda Googles SMTP-servern och autentisera med dina uppgifter.

Nästa, kör postmap på sasl_passwd:

sudo postmap /etc/postfix/sasl_passwd

Detta kommer att generera en sasl_passwd.db-fil som används av Postfix. Båda dessa filer lagra din app lösenord i klartext, så du vill begränsa dem till root genom att köra chown och chmod:

sudo chown root:root /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
sudo chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db

Postfix bör nu vara redo att gå, men du behöver för att konfigurera Postfix största konfiguration fil att använda SMTP-relä och din SASL referenser. Öppna /etc/postfix/main.jfr i din favorit textredigerare, och hitta “relayhost” alternativet. Ändra detta alternativ för att använda Gmail ‘ s SMTP-server:

relayhost = [smtp.gmail.com]:587

Sedan i slutet av filen, lägg till följande rader att konfigurera och använda SASL ditt lösenord fil.

# aktivera SASL-autentisering
smtp_sasl_auth_enable = ja
# otillåtna metoder för att tillåta anonym autentisering.
smtp_sasl_security_options = noanonymous
# om att hitta sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# Aktivera STARTTLS-kryptering
smtp_use_tls = ja
# om att hitta CA-certifikat
smtp_tls_CAfile = /etc/ssl/certs/ca-certifikat.crt

Spara den här filen, och sedan starta om Postfix med systemctl:

sudo systemctl starta om postfix

Postfix ska nu vara fullt utbyggt och anges som standardprogram för e-post på ditt system. Du kan testa det med Postfix egna sendmail kommando:

sendmail recipient@gmail.com
FRÅN: youremail@gmail.com
ÄMNE: Hej från din server!
Detta är ett test för e-post som skickas från din server genom att Postfix.
.

Kolla din inkorg (eller utkorg), och du bör se en ny e-post. Kan du köra sudo-tail-f /var/log/e-post.logga in (eller e-post.err) för att kontrollera e-post-loggar.

Postfix kommer att konfigurera sig själv som din server är standardprogram för e-post. Någon app eller program som behöver göra för att skicka e-post bör nu använda Postfix som standard, såsom PHP (som använder Postfix sendmail). Vissa kan behöva extra konfiguration, som vanligtvis bara talar om för appen att använda Postfix.

Om du inte vill använda sendmail (som det är lite otymplig) du kan installera en annan e-postklient. En bra kund är mutt, som stöd för att skicka filer som bifogade filer, och kommer att använda Postfix som standard. Syntaxen för att enkelt skicka är:

echo “e-post” | mutt -s “e-ämne” recipient@gmail.com

Och för att bifoga filer, måste du separera -en flagga värden från mottagaren med en double dash “–“:

echo “e-post” | mutt -s “e-post subject” -en /path/till/fil-recipient@gmail.com

Som kommer att visa upp i din inkorg med filen som bilaga, förutsatt att det inte gick någon fil storlek begränsningar som följer av SMTP-servern:

Oavsett vilken e-postklient du välja någon av dem bör vara användbara inom shell-skript, cron jobs, och var som helst annat som du kan konfigurera för att köra Unix-kommandon.