JavaMail wysyła wiadomości e-mail za pomocą serwera poczty e-mail, zwykle za pośrednictwem interfejsu SMTP dostawcy poczty e-mail. Czy do wysyłania wiadomości e-mail konieczne jest użycie serwera e-mail?
Mam stronę internetową, która wyśle e-maile i jeśli to możliwe, chciałbym wysłać e-maile bezpośrednio z kodu strony internetowej bez korzystania z serwera e-mail. FAQ JavaMail mówi, że wymagany jest serwer e-mail.
Czy istnieje sposób wysyłania wiadomości e-mail bez korzystania z serwera poczty e-mail za pomocą JavaMail lub innego interfejsu API?
Odpowiedzi:
Możesz dostarczyć wiadomość e-mail bezpośrednio na jeden z serwerów SMTP wymienionych w rekordzie MX domeny adresu. Zwykle jest to zły pomysł:
Dostarczanie poczty na lokalny serwer jest szybkie - możesz niemal natychmiast kontynuować i zrobić coś innego, a serwer może obsłużyć dostawę.
Rzeczywista dostawa może zająć trochę czasu, na przykład zdalny serwer pocztowy może być powolny. Lub może najpierw odrzucić pocztę - jest to znana strategia przeciwko spamowi, aby powiedzieć nadawcy, aby spróbował wysłać wiadomość po raz drugi, czego nie zrobią niektóre boty spamowe.
Również serwer pocztowy może łatwo spróbować ponownie dzień później, gdy zdalny serwer jest wyłączony, zmniejsza to ryzyko utraty poczty.
źródło
Wszystko zależy od tego, co dokładnie rozumiesz przez „używanie”.
Jeśli „użycie” obejmuje tylko bezpośrednie użycie serwera e-mail, możesz przekazać pocztę, aby wysłać inną usługę pośrednio na serwer e-mail. W praktycznych przypadkach wydaje mi się, że jest to „Good Enough ™”.
Jeśli jednak twoje pytanie oznacza dosłownie „w ogóle nie angażując żadnego serwera pocztowego ”, byłoby to możliwe tylko wtedy, gdy twoje oprogramowanie jest w stanie umieścić pocztę w skrzynce odbiorczej klienta docelowego w dowolny sposób, ale z wyjątkiem POP3 lub IMAP lub inny odpowiedni protokół e-mail używany w kontekście wiadomości e-mail (ponieważ gdybyś używał takiego protokołu, ten konkretny program działałby jak serwer pocztowy, co jest niedozwolone)
Aby odpowiedzieć na pytanie: Tak. Przynajmniej w teorii.
źródło
Jeśli musimy wysłać komuś wiadomość e-mail z kodu Java, musimy mieć dostęp do niektórych poświadczeń serwera pocztowego. Cóż, nie zawsze.
Google zapewnił bezpłatny dostęp do jednego z serwerów poczty i można go używać w kodzie Java. Poniżej napisanego kodu, jeśli bardziej przypomina notatkę dla mnie. Więc jeśli kiedyś będę go potrzebować, możesz odwołać się tutaj: http://www.computerbuzz.in/2014/02/how-to-send-email-in-java-using-gmail.html
źródło