NexxDigital - компьютеры и операционные системы

Недавно я получил эту работу, поэтому, хотя я бы разделил:

Отправка всей исходящей почты в Отправленные папки с postfix и cyrus imap.

Сделайте postfix отправьте копии экземпляров всех исходящих писем на специальную "отправленную" почтовая учетная запись. Используйте сито на этой специальной учетной записи, чтобы перенаправить все электронные письма в папку "Отправленные", связанные с учетной записью.

    Создайте учетную запись пользователя электронной почты для отправленных

    Самый простой способ сделать это - создать новую учетную запись unix для отправленных, установка оболочки в /bin/false, чтобы никто не мог регистрироваться в:

    Host$ sudo useradd sent host$ sudo chsh -s /bin/false sent

    Настроить imap для отправленного пользователя

    Используя cyradm, мы создаем новый почтовый ящик (т.е. пользователь) и даем этому пользователю добавить доступ ко всем нашим папкам "Отправленные" imap:

    Host$ $ cyradm -user cyrus localhost Password: localhost> createmailbox user.sent localhost> setaclmailbox user.%.Sent sent append Setting ACL on user.userx.Sent...OK. Setting ACL on user.usery.Sent...OK. . . . Setting ACL on user.userz.Sent...OK. localhost> exit

    Создайте сито script для отправленной учетной записи

    Этот script перенаправляет всю входящую электронную почту на отправленную учетную запись, на Отправлена ​​папка в папке "Входящие" отправителей.

    Мой script называется sent.sieve и выглядит примерно так:

    # Sieve script for sent. If outgoing email is bcc"ed to this account, # this sieve script will redirect it to the sender Sent folder require ["fileinto"]; if address:is:localpart "From" "userx" { fileinto "user.userx.Sent"; } elsif address:is:localpart "From" "usery" { fileinto "user.usery.Sent"; } elsif address:is:localpart "From" "userz" { fileinto "user.userz.Sent"; }

    Вам нужно будет ввести запись для каждого из ваших пользователей (userx, usery, userz в примере выше). Я не смог найти лучший способ сделать это. Предложения приветствуются [email protected]

    Установите сито script следующим образом:

    Host$ sieveshell localhost -user=sent -a=cyrus Password: > put sent.sieve > activate sent.sieve > quit

    Настроить сопоставление bcc для postfix

    В постфиксном каталоге (/etc/postfix на debian) создайте файл с именем bcc_map выглядит следующим образом:

    # copy all locally sent mail to the sent account @yourdomain.com [email protected]

    Скомпилируйте это в хэш файл постфикса, используя:

    Host$ sudo postmap bcc_map

    Добавьте следующую конфигурацию в файл конфигурации postfix main.cf:

    Sender_bcc_maps = hash:/etc/postfix/bcc_map

    И сделайте postfix перезагрузите его конфигурацию:

    host $sudo/etc/init.d/postfix reload

    Тестирование и отладка

    Отправьте письмо и проверьте, что оно скопировано в папку Sent.

    В случае возникновения проблем вы должны проверить журналы cyrus и postfix (все регистрируются на /var/log/syslog на моем хосте debian). Опечатки и неправильные разрешения доступа обычно приводят к тому, что некоторые подсказки отправляются на журналы.

Одной из самых востребованных функций на сайте является форма заявки или заказа, данные из которой отправляются на почту владельцу сайта. Как правило такие формы являются простыми и состоят из двух трех полей для ввода данных. Как же создать такую форму заказа? Здесь потребуется использование языка разметки HTML и языка программирования PHP.

Язык разметки HTML сам по себе несложен, нужно всего лишь разобраться в том как и где ставить те или иные теги. С языком программирования PHP все немного сложнее.

Для программиста создать такую форму не составит труда, а вот HTML верстальщику может показаться сложным некоторые действия.

Создаем форму отправки данных в html

Первая строка будет следующей

Это очень важный элемент формы. В нем мы указываем каким способом будут передаваться данные и какому файлу. В данном случае все передачется методом POST файлу send.php. Программа в этом файле соответственно должна принять данные, они будут содержаться в post массиве, и отправить их на указанный email адрес.

Вернемся к форме. Вторая строка будет содержать поле для ввода ФИО. Имеет следующий код:

Тип формы text, то есть пользователь сможет ввести или скопировать сюда текст с клавиатуры. Под параметром name содержится название формы. В данном случае это fio, именно под таким именем будет передаваться все, что пользователь введен в данноу поле. Параметр placeholder указывает на то, что будет записано в этом поле в виде пояснения.

Следующая строка:

Здесь практически все то же самое, но имя для поля указано email, а пояснении указано, чтобы пользователь в эту форму ввел свой адресс электронной почты.

Следующей строкой будет кнопка "отправить":

И последней строкой в форме будет тэг

Теперь соберем все вместе.





Теперь сделаем так, чтобы поля в форме стали обязательными для заполнения. Имеем следующий код:





Создаем файл, принимающий данные из HTML формы

Это будет файл с именем send.php

В файле на первом этапе нужно принять данные из пост массива. Для этого создаем две переменные:

$fio = $_POST["fio"];
$email = $_POST["email"];

Перед названиями переменных в php ставиться знак $, в конце каждой строки ставиться точка с запятой. $_POST это массив в который передаются данный из формы. В форме html при этом указан метод отправки method="post". Так, приняты две переменные из формы html. Для целей защиты своего сайта нужно провести эти переменные через несколько фильтров - функций php.

Первая функция преобразует все символы, которые пользователь попытается добавить в форму:

При этом новые переменные в php не создаются, а используются уже имеющиеся. Что сделает фильтр, он преобразует символ "<" в "<". Также он поступить с другими символами, встречающимися в html коде.

Вторая функция декодирует url, если пользователь попытается его добавить в форму.

$fio = urldecode($fio);
$email = urldecode($email);

Третей функцией мы удалим пробелы с начала и конца строки, если таковые имеются:

$fio = trim($fio);
$email = trim($email);

Существуют и другие функции, позволяющие отфильтровать переменные php. Их использование зависит от того, насколько вы опасаетесь того, что злоумышленник попытается добавить программный код в данную форму отправки данных на почту html.

Проверка данных, передаваемых от HTML формы в файл PHP

Для того, чотбы проверить, работает ли этот код, передаются ли данные можно просто их вывести на экран при помощи функции echo:

echo $fio;
echo "
";
echo $fio;

Вторая строка здесь нужна для того, чтобы разделить вывод переменных php на разные строки.

Отправляем полученные данные из формы HTML на почту при помощи PHP

Для отправки данных на почту нужно воспользоваться функцией mail в PHP.

mail("на какой адрес отправить", "тема письма", "Сообщение (тело письма)","From: с какого email отправляется письмо \r\n");

Например, нужно отправить данные на email владельца сайта или менеджера [email protected].

Тема письма должна быть понятной, а сообщение письма должно содержать то, что указал пользователь в HTML форме.

mail("[email protected]", "Заявка с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: [email protected] \r\n");

Необходимо добавить условие, которе проверит отправилась ли форма при помощи PHP на указанные адрес электронной почты.

if (mail("[email protected]", "Заказ с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: [email protected] \r\n"))
{
echo "сообщение успешно отправлено";
} else {
}

Таким образом программный код файла send.php, который отправит данные HTML формы на почту будет выглядеть следующим образом:

$fio = $_POST["fio"];
$email = $_POST["email"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$email = trim($email);
//echo $fio;
//echo "
";
//echo $email;
if (mail("[email protected]", "Заявка с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: [email protected] \r\n"))
{ echo "сообщение успешно отправлено";
} else {
echo "при отправке сообщения возникли ошибки";
}?>

Три строки для проверки, передаются ли данные в файл закомментированы. При необходимости их можно удалить, так как они нужны были только для отладки.

Помещаем HTML и PHP код отправки формы в один файл

В комментариях к этой статье многие задают вопрос о том, как сделать, чтобы и HTML форма и PHP код отправки данных на почту находились в одном файле, а не двух.

Для реализации такой работы нужно поместить HTML код формы в файл send.php и добавить условие, которое будет проверять наличие переменных в массиве POST (этот массив передается из формы). То есть, если переменные в массиве не существуют, то нужно показать пользователю форму. Иначе нужно принять данные из массива и отправить их адресату.

Давайте посмотрим как изменить PHP код в файле send.php:



Форма заявки с сайта


//проверяем, существуют ли переменные в массиве POST
if(!isset($_POST["fio"]) and !isset($_POST["email"])){
?>





} else {
//показываем форму
$fio = $_POST["fio"];
$email = $_POST["email"];
$fio = htmlspecialchars($fio);
$email = htmlspecialchars($email);
$fio = urldecode($fio);
$email = urldecode($email);
$fio = trim($fio);
$email = trim($email);
if (mail("[email protected]", "Заявка с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: [email protected] \r\n")){
echo "Сообщение успешно отправлено";
} else {
echo "При отправке сообщения возникли ошибки";
}
}
?>

Существование переменной в POST массиве мы проверяем PHP функцией isset(). Восклицательный знак перед этой функцией в условии означает отрицание. То есть, если переменной не существует, то нужно показать нашу форму. Если бы я не поставил восклицательный знак, то условие дословно означало бы - "если существует, то показать форму". А это неправильно в нашем случае. Естественно, что вы можете переименовать его в index.php. Если будуту переименовывать файл, то не забудьте переименовать название файла и в строке

. Форма должна ссылаться на эту же страницу, например index.php. В код я добавил заголовок страницы.

Частые ошибки, возникающие при отправке PHP формы с сайта

Первая, наверное самая популярная ошибка, это когда вы видите пустую белую страницу без сообщений. Это означает, что вы допустили ошибку в коде страницы. Вам нужно включить отображение всех ошибок в PHP и тогда вы увидите, где допущена ошибка. Добавьте в код:

ini_set("display_errors","On");
error_reporting("E_ALL");

Файл send.php должен запускаться только на сервере, иначе код просто не будет работать. Желательно, чтобы это был не локальный сервер, так как он не всегда настроен на отправку данных на внешний почтовый сервер. Если вы запустите код не на сервере, то вам отобразиться код PHP прямо на странице.

Таким образом, для корректной работы я рекомендую поместить файл send.php на хостинг сайта. Там, как правило, все уже настроено.

Еще одна частая ошибка, когда появляется оповещение "Сообщение успешно отправлено", а письмо не приходит на почту. В этом случае нужно внимательно проверить строку:

if (mail("[email protected]", "Заказ с сайта", "ФИО:".$fio.". E-mail: ".$email ,"From: [email protected] \r\n"))

Вместо [email protected] должен быть email адрес на который нужно отправить письмо, а вместо [email protected] должен быть существующий email данного сайта. Например для сайта сайт это будет . Только в этом случае письмо с данными из формы будет отправлено.


Каждый день мы отправляем десятки электронных писем. Иногда это очень короткие сообщения, например, такие: «Пойдем на обед?». Иногда - , с помощью которых вы презентуете свой бизнес или сайт. Когда писем становится много, а времени - мало, мы начинаем торопиться и совершать ошибки. Обычно пустяковые, вроде опечатки, но порой случаются и такие, которые могут здорово навредить вашей репутации и подпортить отношения с клиентом или сотрудником.

Этого можно избежать, просто нужно быть собранным и знать про кое-какие подводные камни. Вот самые распространенные ошибки, совершаемые во время отправки электронных писем. Внимательно прочитайте и запомните, что сперва нужно сделать небольшую паузу, проверить, все ли в порядке, а уже потом нажимать на кнопку «Отправить».

Вы набираете не тот адрес

Самая частая и самая неприятная ошибка. Представьте, вы хотите отправить довольно личные фотографии другу или подружке, но машинально набираете адрес своего начальника или заказчика. И только после того, как письмо ушло, с ужасом понимаете, что сейчас произошло. Если вас это утешит, то в такую ситуацию каждый из нас попадал хотя бы раз в жизни: юристы отправляли конфиденциальные документы противоположной стороне, дизайнеры - макеты сайтов не тому клиенту и т.д. Но когда это происходит с нами - кажется, земля уходит из под ног.

К счастью, во многих почтовых сервисах, например, в том же Gmail, есть функция . Включите ее и укажите большой временной интервал - так, знаете ли, спокойнее.

Вы забыли про вложение

Вы написали, что к письму прилагается некий файл, но забыли его прикрепить. Еще одна распространенная ошибка, которая часто приводит к недопониманию и извинениям. С одной стороны, ничего страшного, никто не идеален, но лучше сначала все проверить, а уже потом отправлять письмо. А чтобы избежать вопросов со стороны получателя, рекомендуем перечислить все прикрепленные файлы прямо в теле письма. Например, так:

Привет, Максим! Отправляю тебе несколько файлов, они во вложении:

Договор об оказании услуг

Гифку с котиком

Вы не думаете об оформлении

Встречают, как вы помните, по одежке. Если хотите, чтобы ваше письмо не вызвало желания немедленно удалить его, поработайте над его формой. Говорят, ей нужно уделять столько же времени, сколько содержанию. К счастью, сегодня это просто. Для мы рекомендуем воспользоваться приложением Wix ShoutOut, выбрать подходящий шаблон и добавить в него свой текст. Никаких специальных знаний не требуется, просто следите, чтобы все смотрелось аккуратно и красиво. Кстати, у хорошей рассылки есть свои секреты и правила, поэтому советуем прочитать нашего директора по email-маркетингу. Не благодарите.

Вы не указываете тему письма

Тема письма выполняет примерно ту же роль, что заголовок текста. Она появляется рядом с вашем именем, получатель видит ее и понимает, что вы ему прислали: счет-фактуру, итоги встречи, предложение о работе, макет сайта и т.д. Помните, что тема должна быть четко сформулированной, чтобы при необходимости человек быстро отыскал ваше письмо, и убедительной, чтобы он заинтересовался, если речь идет, допустим, о рассылке. Не так давно мы писали о том, если вы подзабыли - стоит перечитать.

Вы не сохраняете черновики

Если вам нравится писать письма в текстовых редакторах, то сохраняйтесь почаще, а не то получится, что вы весь день просидели над письмом, а тут внезапно компьютер завис, и все пропало. Или пишите сразу в почтовом сервисе - тогда все ваши наброски автоматически сохранятся в папке «Черновики».


Вы ведете себя невежливо

Вежливость в переписке важна ничуть не меньше, чем в жизни. Вот основные правила, которые нужно соблюдать всем и каждому:

    Всегда благодарите отправителя за письмо, особенно если вы видите, что он хорошо поработал. Помните, в детстве нас всех учили «волшебным» словам? Давайте не будем их забывать, несмотря на то, что мы уже взрослые.

    Сохраняйте спокойствие, даже если дело крайне срочное и важное. Нервозность и упреки точно не приведут ни к чему хорошему.

    Начинайте и заканчивайте письмо общепринятыми фразами. Степень формальности будет зависеть от того, с кем вы переписываетесь. Если это ваш начальник или просто официальное лицо, не используйте «Привет», «Пока» или «Целую». И наоборот, если пишете коллеге или приятелю - можно обойтись без традиционного «С уважением».

Вы не вычитываете текст

Опечатки могут испортить все впечатление, поэтому внимательно перечитайте написанное письмо, лучше несколько раз. Сомневаетесь насчет орфографии или синтаксиса - зайдите на Грамоту.ру . Лучше семь раз отмерить, то есть проверить, чем потом извиняться за опечатки и доказывать, что вы на самом деле грамотный.

И кстати: если вы боитесь случайно отправить недописанное письмо, сперва напишите весь текст полностью, а только потом набирайте адрес получателя.

Вы не ставите нужных людей в копию письма

Давайте разберемся, кто вообще может получить ваше письмо. Поле «Кому» - это основной получатель. Поле «Сс» - человек, который получит копию. Он не относится к обсуждаемому вопросу напрямую, но хочет или должен быть в курсе. Поле «Bcc» - это скрытые получатели. Вы добавляете их, но основной получатель их не видит. И здесь нужно быть осторожным: можно перепутать Cс и Bcc, и тогда получатель подумает, что за ним шпионят.

Имейте в виду, что некоторым людям важно быть в курсе происходящего. Вы же не хотите слушать упреки на тему «Как ты мог не добавить меня в копию?! Я же работал над этим проектом два месяца!» Если сомневаетесь - добавляйте всех, кто имеет какое-либо отношение к вопросу. Может, не все будут довольны, что их отвлекают, зато к вам не будет никаких претензий.

Доброго времени! Сегодня мы поговорим о резервном копировании СМС, путем отправки всех сообщений со смартфона на электронную почту. Это может потребоваться как просто в целях сохранения переписки, так и для дальнейшей обработки сообщений, например поиска в сообщениях нужной информации (контактов, имен, цен и прочего) сторонними приложениями, которые в свою очередь работают с E-Mail. Разберем вариант такого копирования с использованием смартфона работающего на Android.

Создаем почтовый ящик

Для отправки и сохранения всех сообщений на E-Mail, для начала нужно зарегистрировать почтовый ящик, для этого отлично подойдет почта от yandex.ru . Можно также использовать свой действующий почтовый ящик, но я рекомендую зарегистрировать новый. Во первых со временем в нем скопиться большое число СМС сообщений, которые могут мешать при работе с обычными письмами, а во вторых в случае если вы будите подключать почтовый ящик к стороннему сервису для аналитики, не указывать в нем логин и пароль от основного E-Mail.

Устанавливаем на смартфон с Android приложение SMS Backup +

Для отправки всех SMS сообщений на почтовый ящик, потребуется установить и настроить специальное приложение SMS Backup +, скачать которое можно на сайте play.goole.com или apk-dl.com (альтернатива для смартфонов не использующих Google Play) или .

Приложение протестировано на Android: 3.xx, 4.xx, 5.xx, 6.xx; Заявлена поддержка версии 2.xx.

Настраиваем SMS Backup +

  1. Запускаем приложение;
  2. После запуска приложения, в раскрывшемся меню выбираем пункт: Advanced settings;
  3. Далее переходим в Backup settings;
  4. Устанавливаем галочки на Backup SMS и Email subject prefix, снимаем галочки с Backup MMS, Backup Call log (MMS и история звонков нам не нужны, хотя их вы тоже можете резервировать);
  5. Возвращаемся в предыдущее меню и переходим в раздел IMAP Server settings;
  6. Выбираем пункт меню Authentication,

    устанавливаем значение параметра в Plain text;

  7. Выбираем пункт меню Server address, прописываем значение: imap.yandex.ru:993

  8. Выбираем пункт меню Security прописываем значение: SSL

  9. Выбираем пункт меню Login (You IMAP account) указываем логин, затем выбрав пункт меню Password (You IMAP account password) указываем пароль от yandex.ru почты;
  10. В главном меню устанавливаем галочку на Auto backup;
  11. Далее переходим в Auto backup settings, выбираем пункт меню Regular schedule и устанавливаем временной интервал, с периодичностью которого СМС будут отправлять на указанный нами аккаунт почтового ящика (например каждые 2 часа).

Приложение SMS Backup + позволяет не только делать резервные копии на E-Mail, но и восстанавливать сообщения с него. Соответствующие настройки восстановления можно найти в разделе Advanced settings -> Restore settings.

После отправки сообщений на E-Mail, все они будет размещены в папке под названием: SMS.

Анализируем СМС переданные на Email

После получения списка СМС на адрес электронной почты, можно с помощью специального программного обеспечения анализировать содержащиеся в них данные. Например можно отслеживать СМС от банка с сообщениями о денежных поступлениях и списаниях, на основании чего вести финансовый учет в автоматическом режиме. Подобное решение реализовано мною для «сайта совместных покупок», когда все СМС сообщения от Банка полученные Организаторами СП собираются в одном месте, анализируются и на основании их, система в панели управления выводит данные о том — какой из пользователей сделавший заказ, произвел оплату.

Вероятно, Вы уже обращали внимание, что при получении писем от некоторых авторов в разделе «кому» стоит список из нескольких десятков имейлов разных людей. Причем ни Вы, ни эти люди не давали своего согласия на то, чтобы эти имейлы были «засвечены». Естественно, кто-то из адресатов, отпишется от данной рассылки (нам всем надоел поток спама на наши почты). Но одно безусловно – все получатели отнесутся к автору рассылки, как к человеку непрофессиональному. И вряд ли согласятся принять его предложение.


Как же сделать так, чтобы не отправлять каждому адресату письмо отдельно и в то же время «не светить всех перед всеми»?
Практически любой почтовый сервис позволяет это сделать.

Рассмотрим эту возможность на примере самой популярной для деловых рассылок почте gmail.com

Обычно для отправки письма вы пользуетесь окном «Написать». Нажав на него, видите новое окно «Новое сообщение», в которое и вставляете все, что необходимо для создания и отправки самого письма.

В окно «Получатели» обычно вставляем имейлы наших адресатов.




Копия означает «точная копия». Это поле используется, когда вы просто хотите отправить письмо кому-то, кто не является основным получателем. Таким образом, вы можете держать человека в курсе, давая ему при этом знать, что отвечать на письмо не обязательно. Но все получатели данного письма видят адреса (и даже имена) друг друга.


Скрытая же копия означает «точная скрытая копия». Она работает так же, как и Копия, но в этом поле все адреса получателей скрыты.

Таким образом, использование этого поля – один из лучших способов отправить письмо большому количеству людей и соблюсти конфиденциальность. А значит, и не испортить отношение с ними. Используя эту возможность, можно вставить до 30 имейлов. А это значит, что одним нажатием кнопки вы можете отправить данное письмо сразу 30 адресатам, не показывая их имейлы.

И еще, при необходимости, можно вставить в тело письма картинку (4 ) или прикрепить файл (5 ).

Именно эта почта дает максимальное количество возможностей для редактирования.



Аналогично можно отправить одновременно нескольким адресатам письмо и на почте yandex.ru.

Только возможностей для редактирования текста письма на этой почте меньше. Поэтому я покажу только порядок действий, необходимых для отправки писем.

Нажимаете на «Написать» и далее в окне «Кому» (1 ) вставляете имейл первого адресата, а затем выбираете функцию «Копия» (2 ) или «Скрытая копия» (3 ). В зависимости от того хотите ли вы, чтобы все получатели вашего письма увидели все имейлы или сохраняете их право на конфедициальность адресов, выбираете одну из функций. Чтобы добавить каждый следующий имейл в список, необходимо нажать на кнопку с изображением человечка с «плюсиком» перед ним (4 ). Тогда из выпавшего списка можете выбрать своих постоянных адресатов или вписать их имейлы вручную.

Картинки можно загрузить с Яндекс Диска и файлы прикрепить тоже, как обычно.

Нажимаете на кнопку «Написать», появляется окно, в котором при нажатии мышкой в окне «Кому» (1 ), появляется выпадающий список с перечнем ваших постоянных адресатов (2 ). Можете выбрать из этого списка нужного. Или просто вставить желаемый имейл адресата вручную.



Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter
ПОДЕЛИТЬСЯ:
NexxDigital - компьютеры и операционные системы