Pomoc - Wysyłanie maili z aplikacji
Wysyłanie maili z aplikacji
Przy wysyłaniu maili przez nasz serwer pocztowy konfiguracja poczty jest taka sama niezależnie od tego czy korzystasz z programu pocztowego czy wysyłasz maile ze swojej aplikacji. Podczas konfiguracji powinieneś pamiętać o:
- uwierzytelnieniu użytkownikiem (cały czały adres e-mail) i hasłem
- podaniu jako serwera poczty swojej domeny
- włączeniu szyfrowania (STARTTLS na porcie 25 lub SSL na 465)
- ustawieniu jako nadawcy adresu e-mail, którym się uwierzytelniasz lub aliasu do tego konta - nie jest możliwe wysyłanie poczty z dowolnym nadawcą kopertkowym (envelope sender)
Maile bez autoryzacji, szyfrowania, z dowolnym nadawcą kopertkowym możesz wysyłać korzystając z /usr/sbin/sendmail
Poniżej konfiguracja poczty w Django, Pylons i Ruby on Rails. Dane użyte poniżej są przykładowe - zamień je na dane do konta pocztowego założonego przez panel administracyjny. Przedstawiona konfiguracja odnosi się jedynie do naszych serwerów SMTP - konfiguracja innych serwerów może się nieco różnić.
Django
W pliku settings.py ustaw
EMAIL_HOST = jasio.megiteam.pl #dla VPSów jasio.megivps.pl
EMAIL_HOST_USER = jasio@jasio.megiteam.pl
EMAIL_HOST_PASSWORD = *****
DEFAULT_FROM_EMAIL = jasio@jasio.megiteam.pl SERVER_EMAIL = jasio@jasio.megiteam.pl #to ustawienie odpowiada za nadawcę maili z błędami z aplikacji
EMAIL_USE_TLS = True
W wersji zainstalowanej w systemie (0.96) szyfrowanie jest włączone domyślnie i nie musisz go dodatkowo konfigurować.
Pylons
Aby otrzymywać raporty o błędach ze swojej aplikacji w pliku settings.ini ustaw:
email_to =
smtp_server = jasio.megiteam.pl #dla VPSów jasio.megivps.pl
error_email_from = jasio@jasio.megiteam.pl
smtp_username = jasio@jasio.megiteam.pl
smtp_password = ******
smtp_use_tls = true
Jako error_email_from możesz również podać alias do konta wpisanego w smtp_username.
Ruby on Rails
Od wersji Ruby 1.8.7 standardowa biblioteka do SMTP obsługuje STARTTLS i nie trzeba instalować dodatkowego pluginu.
Dla Ruby 1.8.6: Zainstaluj w aplikacji bibliotekę pozwalającą na szyfrowanie połączeń z serwerem SMTP. Możesz skorzystać z tego pluginu. W katalogu aplikacji wydaj polecenie:
./script/plugin install git://github.com/collectiveidea/action_mailer_optional_tls.git
W config/environment.rb pisz:
ActionMailer::Base.delivery_method = :smtp
ActionMailer::Base.raise_delivery_errors = true
ActionMailer::Base.default_charset = 'utf-8'
ActionMailer::Base.smtp_settings = {
:tls => true, <---- jeżeli korzystasz ze wspomnianego pluginu :enable_starttls_auto => true, <--- od Ruby 1.8.7 :address => 'jasio.megiteam.pl', # dla VPSów jasio.megivps.pl :port => 25, :user_name => 'jasio@jasio.megiteam.pl', :password => '******', :domain => 'jasio.megiteam.pl', :authentication => :login }
Bardziej szczegółowe informacje na temat wysyłania maili z Railsów znadziejsz w dokumentacji tego frameworka.