Trimiteți buletine informative prin linia de comandă cu poștaș

Dacă doriți să începeți un nou buletin de știri prin e-mail sau să găsiți o modalitate mai bună de a trimite buletinul informativ existent, există destul de multe instrumente pentru dvs. Există serviciul MailChimp și multe alte servicii de e-mail on-line, precum și instrumente integrate în aplicații Office, cum ar fi Mail and Merge pentru Word și Outlook și o caracteristică similară cu noile add-on-uri Google Docs. Dar dacă sunteți obișnuit să codificați propriile site-uri și să utilizați terminalul, există o opțiune mai bună: aplicația terminală Postman.

În acest tutorial, vă vom arăta cum să utilizați în mod eficient Postman pentru a trimite buletinele de știri prin intermediul oricărui server SMTP: propriul dvs. server sau cont de e-mail sau servicii precum Amazon SES sau Mandrill. Vom acoperi crearea unei liste de destinatari de bază, crearea unui șablon de e-mail de bază, a diferitelor opțiuni de expediere a mesajelor și, în final, cum arată un exemplu complet. Cu aceste exemple de blocuri de construcție sub centură, veți putea trimite orice buletin informativ de e-mail așa cum doriți.

Noțiuni de bază cu Postman

Acest tutorial va presupune că sunteți confortabil să instalați suport pentru limbajul de programare în mediul sistemului de operare și să setați o variabilă de mediu legată de traseu.

Voi prezenta pe scurt modul de funcționare pe Mac, dar vă rugăm să consultați documentația pe care am legat-o mai sus înainte de a vă deplasa - și rețineți că puteți rula utilizând pași similari pe orice computer Linux și cu puțin mai mult efort pe un PC Windows.

Instalare pe OS X

O condiție prealabilă pentru instalarea pe OS X este homebrew. Citiți documentația și setați homebrew înainte de a vă deplasa înainte.

Acum că aveți homebrew toate setup și până la data, executați comanda brew pentru a instala du-te. Voi arăta toate rezultatele pe care ar trebui să le vedeți mai jos.

[chadhs @ mac ~] $ brew instalează go ==> Descărcarea https://downloads.sf.net/project/machomebrew/Bottles/go-1.2.2.mavericks.bottle.tar.gz ####### ################################################## ############### 100.0% ==> Pouring go-1.2.2.mavericks.bottle.tar.gz ==> Privire de ansamblu Începând cu data de 1.2, este necesară utilizarea unui GOPATH valabil comanda 'go get': http://golang.org/doc/code.html#GOPATH 'go vet' și 'go doc' sunt acum parte a go.tools sub repo: http://golang.org/ doc / go1.2 # go_tools_godoc Pentru a obține rularea 'go vet' și 'go doc': accesați code.google.com/p/go.tools/cmd/godoc go get code.google.com/p/go.tools / cmd / vet Poate doriți să adăugați locația de instalare bazată pe GOROOT pe PATH: export PATH = $ PATH: / usr / local / opt / go / libexec / bin Completarea Bash a fost instalată pe: / usr / local / etc /bash_completion.d Completarea zsh a fost instalată la: / usr / local / share / zsh / site-functions ==> Rezumat 🍺 /usr/local/Cellar/go/1.2.2: 3981 fișiere, 115M

Acum că ați instalat suportul, permiteți configurarea mediului nostru.

[chadhs @ mac ~] $ mkdir $ HOME / go [chadhs @ mac ~] $ export GOPATH = $ HOME / go [chadhs @ mac ~] $ export PATH = $ PATH: $ GOPATH / bin

Pentru a continua să folosiți poșta sau alte utilități care necesită plecare, trebuie să facem ca aceste setări de mediu să fie persistente. Va trebui să le adăugați în fișierul rc sau al profilului shell-ului care se încarcă la lansarea unei noi sesiuni de terminale. Nu am încă să mă înscriu în rîndurile oamenilor zsh cu normă întreagă, deci iată ce am pus în bashrc-ul meu după PATH este definit.

exportul GOPATH = $ HOME / go export PATH = $ PATH: $ GOPATH / bin

Acum, să lăsăm poștașul să meargă.

[chadhs @ mac ~] $ mergeți la github.com/zachlatta/postman

Rulați comanda poștală după finalizarea instalării, pentru a verifica dacă ați făcut totul corect. Ar trebui să vedeți următoarea ieșire.

[chadhs @ mac ~] $ postman Postman este un utilitar pentru trimiterea e-mailurilor batch. Utilizare: poștaș [steaguri] Steaguri: -attach atașați o listă de fișiere separate prin virgulă -c numărul de cereri concurentă pentru a avea calea -csv la csv a listei de contacte -debug de imprimare a e-mailurilor la stdout în loc de a trimite -html html calea șablonului -password smtp parola port port-server smtp -mail e-mail pentru a trimite de la -server url de server smtp -subiect subiect de e-mail -text text șablon text -user smtp username

Crearea unei liste de destinatari de bază

Următorul lucru de care aveți nevoie este o listă de contacte pentru a vă trimite e-mailul. Pentru exemplul nostru, va trebui să creați un fișier text gol denumit recipients.csv. În acel fișier text, pe prima linie veți introduce "E-mail, Nume, Tip" și apoi toate persoanele de contact care urmează formatul respectiv, câte unul pe rând. Asigurați-vă că ați salvat fișierul după ce ați terminat verificarea faptului că ați introdus corect totul.

E-mail, nume, tip chadhs @ example.com, Chad Stovern, informații umane @ techcraft.example.com, Techcraft Workshop, robot cstovern @ work.example.com, Chad Wokerson, Human

Crearea șabloanelor de e-mail de bază HTML și de text

Acum, dacă ați creat lista cu destinatari de e-mail, să facem două șabloane de e-mail care să țină mesajul nostru. Un șablon va fi o versiune html, iar cealaltă va fi o versiune text pentru a face ca geeks de text simplu ca mine fericit. Simțiți-vă liber să se abată de la copierea și lipirea exemplelor mele de mai jos. Redați-vă cu textul și unde includeți intrările speciale ".Name" și ".Type. Aceste intrări sunt "variabile" care vor completa numele și tipul din lista de contacte recipients.csv.

Iată ce ar trebui să arate versiunea dvs. html:

Bună ziua, .Name .Type!

Dorim să profităm de această ocazie pentru a vă felicita să vă prezentați drept unul dintre primii 25 clienți .Type!

Faceți clic aici pentru a vă revendica recompensa GRATUITĂ

Cu sinceritate,
Fake Robot de marketing

Iată aproximativ ce ar trebui să arate versiunea textului dvs. simplu:

Bună ziua, .Name .Type! Dorim să profităm de această ocazie pentru a vă felicita pentru a fi prezentat ca unul dintre cei mai mari 25 de clienți .Type! Faceți clic aici pentru a vă revendica recompensa GRATUITă: http://rewards.example.com/freeoffer Cu sinceritate, robot de marketing fals

Opțiunile de trimitere trebuie luate în considerare

Acum, că aveți toate piesele necesare asamblate, trebuie să luați în considerare o altă piesă înainte de a începe să trimiteți poștă. În scopuri de instruire, utilizarea gmailului sau a altui cont personal pentru a trimite e-mailuri este în regulă. Când puneți acest lucru în practică "în lumea reală", veți dori să cântăriți câteva opțiuni.

Cel puțin, asigurați-vă că trimiteți e-mailuri din contul pe care doriți să-l vedeți când primiți mesajul. M-aș putea gândi la sfaturi mult mai rău decât să am o adresă specială [email protected] sau clienț[email protected] pentru a trimite astfel de mesaje. Celălalt lucru pe care trebuie să-l luați în considerare sunt limitele de e-mail impuse de furnizorul dvs. Este posibil să existe limite pentru câte adrese de e-mail externe puteți trimite în oricare dintre cele 24 de ore. Dacă lista dvs. este de 500 sau mai puțin, este posibil să fiți bine folosind serviciul dvs. de e-mail curent pentru a trimite o campanie săptămânală de e-mail. Dacă doriți să faceți mai mult decât acest lucru folosind postman ca instrument, aș analiza serios într-un serviciu, cum ar fi sendgrid, Amazon SES sau Mandrill pentru a vă trimite e-mailurile. Doar înregistrați-vă pentru un cont cu oricare dintre serviciile respective și utilizați setările de server cu poștaș.

Adunarea câtorva detalii tehnice

Ultima piesă a puzzle-ului este colectarea unor informații despre contul de e-mail pe care îl veți utiliza pentru a trimite e-mailul. Veți avea nevoie să cunoașteți următoarele elemente:

  • adresa de email
  • numele serverului (cum ar fi: smtp.example.com)
  • port server (cum ar fi: 587)
  • numele de utilizator (de obicei, adresa dvs. de e-mail)
  • parola

Veți avea nevoie de aceste valori la îndemână înainte de a vă deplasa și de a trimite e-mailuri.

Punând-o pe toți împreună

Acum, să luăm toată munca și să facem un test live. Rulați același exemplu pe care l-am prezentat mai jos, înlocuindu-vă în propriile informații în locul mea. Asigurați-vă că alegeți o linie de subiect solidă care să corespundă conținutului mesajului dvs., dar nu trimite sirene în capul unui utilizator pentru a ajunge direct la butonul de ștergere. Căutați cuvintele magice "Solicitantul prin e-mail X al X ..." să apară, confirmând succesul dvs. Dacă poștașul se blochează pe durată nedeterminată sau dacă vedeți o altă eroare, asigurați-vă că verificați din nou setările serverului de e-mail (utilizator, parolă, server, port) pentru eventuale erori și apoi reporniți poșta.

[chadhs @ postman mac] $ postman -html template.html -text template.txt -csv recipients.csv -sender "Ciad Stovern "-subject" Un cadou GRATUIT pentru a fi clientul nostru! "-server smtp.example.com -port 587 -user [email protected] -password" nice-try-not-my-password "Trimiteți prin e-mail recipientul 3 din 3 ... 

Dacă totul funcționează pe linia de comandă, așteptați ca e-mailurile să vină. Veți ști că ați urmat exemplul nostru corect dacă primiți același conținut de e-mail, dar câmpurile de nume și de tip au fost completate corespunzător cu valorile de la destinatar listă.


Exemplu de e-mail generat prin posta

Și un alt exemplu, folosind același e-mail personalizat pentru alt destinatar:

Exemplu de e-mail generat prin posta

Concluzie

Cu aceste exemple de blocuri de construcție sub centură, posibilitățile sunt nelimitate. Acum puteți petrece timp construind câteva șabloane reutilizabile, pe care le dețineți și controlați, în afara oricărui serviciu de marketing găzduit. Iti recomand foarte mult sa te plimbi pe Tuts + web design pentru cateva idei minunate despre cum sa incepi sa construiesti si sa infrumusetati aceste template-uri.

Dacă aveți întrebări suplimentare cu privire la folosirea poștașului sau sunteți blocați și la sfârșitul vostru; dați-mi voie să știu în comentariile de mai jos. Ca întotdeauna, mulțumesc pentru lectură!