Slanje mejlova putem Heilroom MailX - Google smtp

Ukoliko imate problema sa instalacijom ili korišćenjem nekog programa, ovo je pravo mesto za vaše pitanje.

Moderators: Slackmuz, Urednik

Post Reply

Poznata ličnost
Poznata ličnost
offline
User avatar

Posts: 78
Joined: 01 Feb 2018, 11:37

Post Napisano: 10 Feb 2021, 13:51


Pozdrav svima,

koristim na mojoj masini (tj. serveru) Slackware 14.2 *4.4.14-smp, kao mail koristim konfiguraciju za smtp:587 koju cita iz ~/.mailrc fajla.
To radi sasvim super, medjutim na Google nalogu morao sam da promenim opciju za koriscenje "less security" aplikacije. Zapravo, iako je u konfiguraciji :587, on salje preko 465.

Citao sam da je potrebno imati OAuth mehanizam 2.0, to zajedno sa PHP-om minimalno 5.5 verzije, medjutim nesto mi se ne svidja sve to...

Ako se neko zezao s ovim, da li zna, ima li neko jednostavnije resenje, tipa neki drugi smtp ili nesto...?

Svidja mi se ova konfiguracija sa .mailrc-om jer po default-u na sistemu nije potrebno apsolutno nista da se instalira, samo se doda ta skripta i slanje mejlova odmah radi, najjednostavnije moguce.



Administrator
Administrator
offline
User avatar

Posts: 3451
Joined: 01 Apr 2012, 13:50
Location: Mlečni put

Post Napisano: 13 Feb 2021, 20:13


Hteo sam ranije da iskoristim RaspberryPi za neki "home security" server gde bi mu jedan od zadataka bio slanje mejlova kao notifikacije za određene događaje. Međutim ostala je samo ideja, jer nisam još našao vremena za sređivanje servera za ono što treba da radi. U jednom trenutku sam počeo da radim na sređivanju slanja mejlova. Ako se dobro sećam nisam uspeo da pošaljem mail iako sam dobijao poruke u logu da je mail poslat. Gde je zapelo nisam uspeo da istražim, usled nedostatka vremena. A sad, šta sam ono koristio za slanje pošte, ne sećam se... :D

Sad ti baš ništa nisam pomogao ali ako nađeš rešenje ispiši makar kao podsetnik, a i za sve ostale kome zatreba tako nešto. :)
I prebaciću temu u drugi podforum, na malo prikladnije mesto.
Use the source, Luke
SSZ irc kanal
Spread the Word, “CHOOSE SLACK! and Don’t look back.”



Poznata ličnost
Poznata ličnost
offline
User avatar

Posts: 78
Joined: 01 Feb 2018, 11:37

Post Napisano: 14 Feb 2021, 23:17


Rekao bih da je ovo najbolje resenje (koje je sa FreeBSD-a inace), ali mora na Google mail nalogu da se ukljuci u okviru "account settings" less secure applications, bez koga mejl koji se posalje nece otici (dead.letter). Ja sam kreirao nalog samo za potrebe slanja za ovo, ne koristim svoj nalog, tako da je nebitno sto mi je "less security".
Mozda moze yahoo, nisam testirao, ali obzirom da sam koristio sa privatnog mejl naloga na Zimbri, moze sigurno bilo koji drugi javni, pa koristite sta vama odgovara.

Ovo radi out of the box na Slackware-u, u okviru naloga (koji se koristi za slanje mejlova), ide novi fajl ~/.mailrc:

set smtp-use-starttls
set ssl-verify=ignore
set smtp=smtp://smtp.gmail.com:587
set smtp-auth=login
set smtp-auth-user=korisnickoime@gmail.com
set smtp-auth-password=siframejlnaloga
set from="korisnickoime@gmail.com(alias)"

Da se ovaj fajl zastiti, najbolje "chmod 600".
U zagradi gde stoji "alias" upisujete alias koji zelite i onda kada stigne mejl, kao posiljalac ce biti prikazan taj alias.

Na bivsem poslu sam kao mejl server imao Zimbru, ciji server sam koristio bez problema preko :587, tako da kod Gugla je malkice drugacije.

Na sadasnjem poslu koristimo "sendmail" za slanje mejlova na RHEL/CentOS-u. Na Slackware-u nije potrebno da se startuje "Sendmail" servis u ovom slucaju. Na Slackware-u funkcionisu zajedno mail i mailX, odnosno /usr/bin/mail je softlink /usr/bin/mailx-a. Kada se podesi ovaj fajl u okviru profila (koga god hocete), mejl radi instant.

MailX sam koristio na CentOS-u, radi takodje slicno. Ako koristis raspbian, verujem da funkcionise na istu foru.. sudo apt -y install bsd-mailx

Testirajte slanje mejla pomocu komande:
echo "Tekst poruke" | mail -s "Test email" mejl-za-slanje@gmail.com



Administrator
Administrator
offline
User avatar

Posts: 3451
Joined: 01 Apr 2012, 13:50
Location: Mlečni put

Post Napisano: 15 Feb 2021, 01:05


RaspberryPi mi se trenutno odmara :) a treba da nađem i karticu sa Slackware-om gde sam se igrao. Moguće je da sam i gazio Slackware sa RaspbianOS mada moram da pregledam kartice. U svakom slučaju probaću. Hvala.
Use the source, Luke
SSZ irc kanal
Spread the Word, “CHOOSE SLACK! and Don’t look back.”



Poznata ličnost
Poznata ličnost
offline
User avatar

Posts: 78
Joined: 01 Feb 2018, 11:37

Post Napisano: 12 Jun 2021, 10:25


Ovaj post neka bude update za MailX, posto je na najnovijoj verziji 15 beta koju sam instalirao juce na serveru najnoviji MailX za slanje mejlova, koji salje upozorenja na zastarelu verziju kada se napravi .mailrc fajl sa datim parametrima u postu gore, tako da od sinoc sam testirao resenja za Postfix, koji je vec nativno na Slackware 14.2+ (odnosno 15 beta) verziji.

Testirao sam koristeci Gmail i Yahoo account-e. Na Gmail-u je potrebno ukljuciti secure opciju za "less secure apps", a na Yahoo mi se vise svidja fora, mora da se generise password za "less secure app", i taj password se kopira u .mailrc skriptu, koja je inace zasticena sa 0600.

Postoje 2 nacina kako mozete ovo da uradite, veoma je jednostavno. Prvi nacin je samo pomocu Postfix konfiguracije u /etc/postfix/main.cf.
Ako koristite ovo za slanje mejlova, mislim na slanje mejlova van lokalne masine (ne u root inbox), kada pogledate mejl koji vam je poslat, posiljalac ce biti ime username-a. Posto se to meni nije dopalo, nego sam hteo da mi alias bude onaj koji ja hocu, morao sam da podesim .mailrc u ovom slucaju, jer nisam uspeo da nadjem da li je to moguce uraditi preko Postfix-a. Ako neko to nadje, ako je uopste moguce, neka napise. Na CentOS-u na poslu koristim firmin smtp preko postfix-a, i to je jedna jedina linija dodata u main.cf, tako da alias je "root".

1. Postfix resenje:
- skripta treba da bude aktivna:

Code: Select all

chmod +x /etc/rc.d/rc.postfix
- kreirajte fajl /etc/postfix/sasl_passwd i u njega upisite:

Code: Select all

[smtp.gmail.com]:587 username@gmail.com:password
(username i password naloga za Gmail ili Yahoo). Kod Yahoo je smtp.mail.yahoo.com u zakrivljenoj zagradi.

- sacuvajte fajl i uradite hash:

Code: Select all

postmap /etc/postfix/sasl_passwd
cime se kreira jos jedan fajl u direktorijumu - /etc/poastfix/sasl_passwd.db
Zastitite fajl sa password-om:

Code: Select all

chmod 0600 /etc/postfix/sasl_passwd
Radilo mi je kada sam obrisao /etc/postfix/sasl_passwd fajl, ali nisam testirao dovoljno, probajte.
- u /etc/postfix/main.cf upisite potrebne parametre, u mom slucaju ja sam upisao samo za "hostname", "mydomain", "relayhost" mora da bude ovako:

Code: Select all

relayhost = [smtp.gmail.com]:587
- Na kraju dokumenta ide ovo:

Code: Select all

# enable SASL authentication
smtp_sasl_auth_enable = yes
# disallow methods that allow anonymous authentication.
smtp_sasl_security_options = noanonymous
# where to find sasl_passwd
smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd
# Enable STARTTLS encryption
smtp_use_tls = yes
# where to find CA certificates
smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt
Onda ste zavrsili, restart postfix-a:

Code: Select all

/etc/rc.d/rc.postfix restart. 
Testirajte, treba da stigne:

Code: Select all

echo "Naslov mejla" | mail -s "telo mejla" username@gmail.com


2. MailX (.mailrc) resenje. Ovde sam napisao da je moguce promeniti alias u koje god zelite ime. Ovde vam uopste nije potreban Postfix, dovoljan je samo MailX koji radi out-of-the-box na Slack-u. Potrebna je samo jedna stvar, otvorite fajl u okviru /home/user/.mailrc sa sadrzajem:

Code: Select all

#--------------------------------------------#
# Setting mailx version v14.9.17 for gmail   #
#--------------------------------------------#

# Testing syntax:
# echo "Testing, Testing, Testing" | mailx -s "My test..." address@whatever.com

# Use v15.0 compatibility mode
set v15-compat

# See the whole process, especially for troubleshooting:
set verbose

# Essential setting: select allowed character sets
set sendcharsets=utf-8,iso-8859-1
# and reply in the same charset used by sender:
set reply-in-same-charset

# Default directory where we act in (relative to $HOME)
set folder=mail

# You actual address to reply to:
# Example set from="alias koji zelite <vasmejluser@gmail.com>"
set from="xxxx.xxxx.xxxx@whatever.com"

# Request strict TLS transport layer security checks
set tls-verify=strict
set tls-ca-file=/etc/ssl/certs/ca-certificates.crt
set tls-ca-no-defaults
set smtp-use-starttls
set smtp-auth=login

# When sending messages, wait until the Mail-Transfer-Agent finishs.
# Only like this you will be able to see errors reported through the
# exit status of the MTA (including the built-in SMTP one)!
set sendwait

# And of course put your own gmail username and
# password here in the obvious places:

set mta=smtps://USER:PASSWORD@smtp.gmail.com:465

#--------------------------------------------#
Upisite u 2 reda (set from i set mta), jer to je jedino sta treba promeniti i gotovo. Zapamtite da na Gmail ili Yahoo je potrebno da ukljucite "less secure apps", na Gmail je potrebno samo da se ukljuci, a na Yahoo da se generise random sifra koju upisete u ovaj fajl na kraju "set mta=smtps://user:sifra@smtp.gmail.com:465".

To je to, ako treba pomoc, vicite :)


EDIT by stereo: formatiran post radi preglednosti i lakseg pracenja koraka.


Post Reply

Who is online

Users browsing this forum: No registered users and 16 guests