To trochę mylące do wyjaśnienia, więc proszę o wyrozumiałość ...
Chcę skonfigurować system, w którym użytkownik może wysyłać wiadomości e-mail oparte na szablonach za pośrednictwem mojej witryny internetowej, z wyjątkiem tego, że w rzeczywistości nie są one wysyłane za pośrednictwem mojego serwera - zamiast tego po prostu otwiera własnego lokalnego klienta poczty z wiadomością e-mail gotową do pracy. Aplikacja wypełnia treść wiadomości e-mail wstępnie zdefiniowanymi zmiennymi, aby użytkownik nie musiał wpisywać go samodzielnie. Następnie mogą edytować wiadomość zgodnie z potrzebami, jeśli nie będzie ona dokładnie odpowiadać ich celom.
Jest wiele powodów, dla których chcę, aby przechodził przez lokalnego klienta poczty użytkownika, więc wysłanie przez serwer wiadomości e-mail nie wchodzi w grę: musi to być w 100% po stronie klienta.
Mam już uruchomione w większości działające rozwiązanie i podam szczegóły tego jako odpowiedź, zastanawiam się, czy jest lepszy sposób?
źródło
Odpowiedzi:
Sposób, w jaki teraz to robię, jest zasadniczo taki:
HTML:
Javascript:
To, co zaskakujące, działa dość dobrze. Jedynym problemem jest to, że jeśli treść jest szczególnie długa (ponad 2000 znaków), to po prostu otwiera nową wiadomość e-mail, ale nie ma w niej żadnych informacji. Podejrzewam, że miałoby to związek z przekroczeniem maksymalnej długości adresu URL.
źródło
Oto sposób, w jaki można to zrobić za pomocą jQuery i „elementu” do kliknięcia:
Następnie możesz pobrać zawartość, przesyłając ją z pól wejściowych (tj. Używając
$('#input1').val()
lub skryptu po stronie serwera z$.get('...')
. Baw się dobrzeźródło
Nie potrzebujesz żadnego javascript, wystarczy, że Twój href będzie zakodowany w ten sposób:
źródło
href
wartość podczas wybierania adresów. Jeśli do uzyskania adresów e-mail w momencie kliknięcia potrzebny jest post, prawdopodobnie nie zadziała.A co z weryfikacją na żywo w polu tekstowym, a gdy przekroczy 2000 (lub niezależnie od maksymalnego progu), wyświetli się komunikat „Ten e-mail jest za długi, aby można go było wypełnić w przeglądarce
<span class="launchEmailClientLink">launch what you have in your email client</span>
”Do czego bym miał
i jQuery to do swojego onDomReady
źródło
Możesz skorzystać z tej bezpłatnej usługi: https://www.smtpjs.com
<script src="https://smtpjs.com/v2/smtp.js"></script>
źródło
Jeśli to tylko otworzy klienta użytkownika do wysłania wiadomości e-mail, dlaczego nie pozwolić mu również go tam napisać. Tracisz możliwość śledzenia tego, co wysyłają, ale jeśli to nie jest ważne, po prostu zbierz adresy i temat i wyskakuj klient, aby użytkownik mógł wypełnić treść.
źródło
Problem z samą ideą polega na tym, że użytkownik musi mieć klienta poczty e-mail, co nie ma miejsca, jeśli korzysta z poczty internetowej, co ma miejsce w przypadku wielu użytkowników. (przynajmniej nie było odwrotu, aby przekierować na tę pocztę internetową, kiedy badałem ten problem kilkanaście lat temu).
Dlatego normalnym rozwiązaniem jest poleganie na php mail () do wysyłania e-maili (więc po stronie serwera).
Ale jeśli w dzisiejszych czasach „klient poczty” jest zawsze ustawiany automatycznie, potencjalnie jako klient poczty internetowej, z przyjemnością się o tym dowiem.
źródło
Wyślij zapytanie do mandrillapp.com :
źródło