ISP`s IT Аутсорсинг
Быстрый переход: Главная блога Главная сайта Форум
Если Вы чего то недопоняли или не нашли - задайте
вопрос на нашем форуме и мы попробуем Вам помочь.
Subnets.ru Регистрация IP и Автономных систем mega-net.ru

Реализация простого автоответчика, хранящего ответ в MySQL. Всякого рода защиты отсутствуют, возможно добавлю для чистоты.

Если адрес присуствует в таблице autoreply и на этот адрес поступит почта, то отправителю будет отправлено уведомление, текст которого берется из таблицы message.

MySQL:

CREATE TABLE IF NOT EXISTS `autoreply` (
`id` int(100) NOT NULL AUTO_INCREMENT,
`recipient` varchar(50) NOT NULL DEFAULT '',
`message` longtext CHARACTER SET cp1251 NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM
;

exim.conf

Transport:

userautoreply:
driver = autoreply
from = ${local_part}@${domain}
reply_to = ${local_part}@${domain}
to = ${sender_address}
subject = AutoReply Re: ${rfc2047:$h_Subject:}
text = ${lookup mysql{SELECT message FROM autoreply WHERE recipient='${local_part}@${domain}'}}

Router:

userautoreply:
driver = accept
condition = ${if eq{} {${lookup mysql{SELECT recipient FROM autoreply \
WHERE recipient='${local_part}@${domain}'}}}{no}{yes}}
senders = " ! ^.*-request@.*:\
! ^owner-.*@.*:\
! ^postmaster@.*:\
! ^listmaster@.*:\
! ^mailer-daemon@.*\
! ^root@.*\
! ^noreply@.*"
no_expn
no_verify
transport = userautoreply
unseen

З.Ы. При копировании статьи ссылка на источник ОБЯЗАТЕЛЬНА !

Автор: makky

Похожие статьи:

    Не найдено

Прочитано: 10 649 раз(а)
Ничего не понялТак себе...Не плохоДовольно интересноОтлично ! То что нужно ! (голосов: 3, среднее: 4,33 из 5)
Загрузка...
Отправить на почту Отправить на почту

комментариев 6

  1. admin сказал:

    А можно тебя попросить ещё написать как прикрутить Mysql к Exim ?

  2. makky сказал:

    Вообще-то это man =)

    Вообщем, это ман..Делается в одну строчку:
    hide mysql_servers = localhost/useDB/nameDB/passwordDB

    И все =)

    наверное стоит выложить мой конфиг, но на лисяре, например,их просто тонны. Я свой делаю, потому что мне по каким-то причинам, выложенные на лисяре, не нравятся.

  3. darkange1 сказал:

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

  4. darkange1 сказал:

    Вот так оно будет работать.

    Router:

    userautoreply:
    driver = accept
    condition = ${if eq{} {${lookup mysql{SELECT recipient FROM autoreply \
    WHERE recipient=’${local_part}@${domain}’}}}{no}{yes}}
    senders = » ! ^.*-request@.*:\
    ! ^owner-.*@.*:\
    ! ^postmaster@.*:\
    ! ^listmaster@.*:\
    ! ^mailer-daemon@.*\
    ! ^root@.*\
    ! ^noreply@.*»
    no_expn
    no_verify
    transport = userautoreply
    unseen

    Transport:

    userautoreply:
    driver = autoreply
    from = ${local_part}@${domain}
    reply_to = ${local_part}@${domain}
    to = ${sender_address}
    subject = AutoReply Re: ${rfc2047:$h_Subject:}
    text = ${lookup mysql{SELECT message FROM autoreply WHERE recipient=’${local_part}@${domain}’}}

  5. lehisnoe сказал:

    Поправлено. darkange1, спасибо за комент!

  6. dimonous сказал:

    Отличная статья. Помогло.
    Спасибо!

Добавить комментарий

Вам следует авторизоваться для размещения комментария.