Kategorie szkoleń | Egzaminy | Kontakt
  • 3
  • 1
  • 54

Witam.

Buduję aplikację webową opartą o serwlety i strony jsp. Zastanawiam się jednak, jak wykonać formularz kontaktowy do wysyłania przez użytkowników wiadomości w postaci maila na konkretny adres. Lepiej wykonać taki formularz przy użyciu PHP, czy też odpowiedniego serwletu np.

http://www.oracle.com/webfolder/technetwork/tutorials/obe/java/javamail/javamail.html

A może w innej technologi?

Karol_Pisarek
  • Zapytał
  • @ Karol_Pisarek | 18.01.2017
    • lider
    • 5
    • 1
    • 13

Odpowiedzi (3)

  • 1

To wszystko zależy od przeznaczenia formularza. Ja preferuję najprostsze możliwe rozwiązania, bo stosowanie zbyt wyrafinowanych konstrukcji odbija się potem bolesną czkawką przy jakichkolwiek poprawkach. Moim zdaniem najprościej będzie zbudować formularz w czystym HTML, a w PHP wykonać krótką instrukcję przesyłania danych metodą POST lub nawet GET.

  • Odpowiedział
  • @ | 18.01.2017
  • TRENER ALTKOM AKADEMII
  • 3

Najodpowiedniejsze będzie to w czym tworzysz daną stronę. Jak pod spodem masz silnik w js nie ma sensu robić wstawki w php do wysyłania poczty. Chciałbym zwrócić jednak uwagę na kilka innych aspektów poczty. Każda poczta - ma swojego nadawcę, jego adres (a technicznie to nawet dwa niezależne - w sesji smtp i w treści maila) itepe. Do tego domena nadawcy może wymagać wysyłania poczty z danej domeny z konkretnych adresów (SPF), tudzież podpisane DKIM (DMARC).

Wysyłając "wprost" maila z adresem źródłowym - często okaże się, że będzie on dochodzić do odbiorców niedeterministycznie, tudzież będzie trafiać do spamu. By tego uniknąć - trzeba albo serwer wysyłający dopisać do SPF, dodać mu podpisywanie wiadomości DKIM i klucz dodać do domeny, albo też - forwardować dalej pocztę do uprawnionego serwera. Alternatywnie można z poziomu skryptu od razu nawiązywać sesję smtp z autoryzacją z serwerem uprawnionym do wysyłki poczty w imieniu danej domeny.

Andrzej_Dopierała
  • Odpowiedział
  • @ Andrzej_Dopierała | 23.01.2017
    • lider
    • laureat
    • ekspert
    • 83
    • 65
    • 169
  • 0

Dzięki za odpowiedzi, naprowadziły mnie na znalezienie odpowiedniego rozwiązania.

Aplikację tworzę w oparciu o Google App Engine [GAE]:

https://cloud.google.com/appengine

Po ustawieniu odpowiedniego adresu nadawcy dla mojej domeny, jak to zrobić w GAE opisano tutaj:

https://cloud.google.com/appengine/docs/java/mail

Zastosowałem rozwiązanie oparte o formularz na stronie .jsp, klasę Javy zawierającą metodę do wysyłania maili oraz serwlet obsługujący wysyłanie danych z formularza w postaci maila, bazowałem na rozwiązaniu opisanym na stronie:

http://www.studytonight.com/servlet/Sending-email-using-servlet.php

Karol_Pisarek
  • Odpowiedział
  • @ Karol_Pisarek | 07.02.2017
    • lider
    • 5
    • 1
    • 13