- PVSM.RU - https://www.pvsm.ru -

И сегодня нам не понадобится серверная часть. Мы будем отправлять письма прямо из браузера пользователя, и основываясь на данном способе ознакомимся с небольшим (12 Кб) jQuery плагином, который получился свободным аналогом orphus-у.
Представляю вашему вниманию код по отправке email, работающий во всех современных браузерах, состоящий из нескольких строчек Javascript! Базируется он на mandrillapp.com API [1], используя кросдоменный ajax-запрос. [2] Другими словами, вы используете API для отправки писем со своей html-странички, не используя никакой код на сервере.
Вот его пример:
var xmlhttp = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
xmlhttp.open('POST', 'https://mandrillapp.com/api/1.0/messages/send.json');
xmlhttp.setRequestHeader('Content-Type', 'application/json;charset=UTF-8');
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) alert('Mail sended!')
else if(xmlhttp.status == 500) alert('Check apikey')
else alert('Request error');
}
}
xmlhttp.send(JSON.stringify({'key': 'YourApiKeyIsHere',
'message': {
'from_email': 'mail_from@write.here',
'to': [{'email': 'mail_to@write.her', 'type': 'to'}],
'autotext': 'true',
'subject': 'Yeah!',
'html': '<h1>Its work!</h1>'
}}));
Для того, чтоб данный пример заработал — необходимо получить свой API Key. Для этого регистрируемся [3] в сервисе, лезем в настройки [4], и жмем большую синюю кнопку "+ New API Key". Полученный ключ подставляем в пример выше, указываем адреса отправителя и получателя, и вуаля! Сервис использует только https, имеет массу настроек включая черные и белые списки.
Квота составляет 12,000 сообщений в месяц (295 в час) на один аккаут.
Простой велосипед, который реализует возможность отправить уведомление о том, что на сайте имеет место быть очепятка и ошибка, используя как приведенный выше механизм, так и традиционный — ajax запрос к php скрипту, который отправляет сообщение. О плюсах минусах будет сказано в заключении к данному посту, а сейчас несколько слов о самом плагине:

Картинка кликабельна и ведет на демку с описанием, с которой, при необходимости, можно скачать исходники.
Минимальный пример для запуска плагина будет:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script type="text/javascript" src="https://cdn.rawgit.com/tarampampam/jquery.textmistake/master/src/jquery.textmistake.js"></script>
<script type="text/javascript">
(function(e){
jQuery(document).textmistake({
'mailTo': 'your_email(d0g)here.com'.replace(/(d0g)/, '@'),
'mailFrom': 'textmistake(d0g)yourdomain.com'.replace(/(d0g)/, '@'),
'mandrillKey': 'HereIsYourMandrillApiKey', // Get your - https://mandrill.com/signup/
});
})(jQuery)
</script>
Все остальные детали, демо, и описание, как было сказано выше — вы найдете на страничке плагина [5]. Плагин ещё немного сырой, обкатанный только одним проектом, поэтому буду рад любой конструктивной критике, оставленной здесь [6].
textmistake@yourdomain.com на 'textmistake(d0g)yourdomain.com'.replace(/(d0g)/, '@');return htmlspecialchars(strip_tags($text))), но защита лишь от очевидных попыток xss.Данная лицензия разрешает лицам, получившим копию данного программного обеспечения и сопутствующей документации (в дальнейшем именуемыми «Программное Обеспечение»), безвозмездно использовать Программное Обеспечение без ограничений, включая неограниченное право на использование, копирование, изменение, добавление, публикацию, распространение, сублицензирование и/или продажу копий Программного Обеспечения, также как и лицам, которым предоставляется данное Программное Обеспечение, при соблюдении следующих условий:
Указанное выше уведомление об авторском праве и данные условия должны быть включены во все копии или значимые части данного Программного Обеспечения.
ДАННОЕ ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНО ВЫРАЖЕННЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ ГАРАНТИЯМИ ТОВАРНОЙ ПРИГОДНОСТИ, СООТВЕТСТВИЯ ПО ЕГО КОНКРЕТНОМУ НАЗНАЧЕНИЮ И ОТСУТСТВИЯ НАРУШЕНИЙ ПРАВ. НИ В КАКОМ СЛУЧАЕ АВТОРЫ ИЛИ ПРАВООБЛАДАТЕЛИ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ПО ИСКАМ О ВОЗМЕЩЕНИИ УЩЕРБА, УБЫТКОВ ИЛИ ДРУГИХ ТРЕБОВАНИЙ ПО ДЕЙСТВУЮЩИМ КОНТРАКТАМ, ДЕЛИКТАМ ИЛИ ИНОМУ, ВОЗНИКШИМ ИЗ, ИМЕЮЩИМ ПРИЧИНОЙ ИЛИ СВЯЗАННЫМ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИЛИ ИНЫМИ ДЕЙСТВИЯМИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ.
Автор: cmepthuk
Источник [7]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/javascript/77722
Ссылки в тексте:
[1] mandrillapp.com API: https://mandrillapp.com/api/docs/
[2] .: http://blog.kplus.pro/
[3] регистрируемся: https://mandrill.com/signup/
[4] настройки: https://mandrillapp.com/settings/index
[5] страничке плагина: http://tarampampam.github.io/jquery.textmistake/
[6] оставленной здесь: https://github.com/tarampampam/jquery.textmistake/issues/new
[7] Источник: http://habrahabr.ru/post/246347/
Нажмите здесь для печати.