Freesco, NND, CDN, EOS
http://forum.freesco.pl/

exim + mysql + Vacation
http://forum.freesco.pl/viewtopic.php?f=24&t=17735
Strona 1 z 1

Autor:  czerwo [ poniedziałek, 15 czerwca 2009, 11:12 ]
Tytuł:  exim + mysql + Vacation

Czy ktoś już cosik takiego stworzył?? :>
Propozycja w bazie mysql umiescic dodatkowe dwie kolumny vac i vacation, odpowiednio w kolumnie vac dawać 0 lub 1 czy ma być wiadomość czy nie a w polu vacation wpisywać wiadomość która zostanie automatycznie dołączona.
Próbuje coś takiego zrobić ale ni w cholere nie wiem jak ugryźć exima ;/
Jakieś pomysły?? Wizje artystyczne?

w sekscji routers dopisalem:
: [/] [] ()
#odpowiedz wakacyjna
user_vacation:
    driver = accept
    # nie odpisujemy na błędy bądź listy dyskusyjne
    condition = "${if or {{match {$h_precedence:} {(?i)junk|bulk|list}} \
    {eq {${lookup mysql {SELECT vac FROM skrzynki WHERE nazwa='${local_part}' \
    AND domena='${domain}' AND vac='1'}} {}}} {no} {yes}}"
    no_expn
    # nie odpisujemy na maile od list dyskusyjnych oraz na powiadomienia o błędach
    senders = " ! ^.*-request@.*:\
                ! ^.*@list*.*:\
                ! ^owner-.*@.*:\
                ! ^postmaster@.*:\
                ! ^listmaster@.*:\
                ! ^mailer-daemon@.*\
                ! ^root@.*"
    transport = vacation_reply
    unseen
    user = ${local_part}
    no_verif


a w sekcji transport
: [/] [] ()
vacation_reply:
    driver = autoreply
    #file = /var/mail/vacation/$local_part/vacation.msg
    #file_expand
    from = System Automatycznej Odpowiedzi <$original_local_part@$original_domain>
    log = /var/mail/vacation.log
    #once = /var/mail/vacation.db
    #once_repeat = 7d
    subject = ${if def:h_Subject: {Re: ${quote:${escape:${length_50:$h_Subject:}}} (autoreply)} {Informacja} }
    text = ${lookup mysql {SELECT vacation FROM skrzynki WHERE nazwa='${local_part}' \
            AND domena='${domain}'}}
    to = "$sender_address"


ale jakoś na to nie reaguje. Coś mam w złym miejscu? Coś jeszcze dopisać?

Autor:  czerwo [ poniedziałek, 15 czerwca 2009, 12:33 ]
Tytuł: 

Już zrobiłem:
w sekcji routers
user_vacation:
driver = accept
# # nie odpisujemy na błędy bądź listy dyskusyjne
condition = "${if eq{} {${lookup mysql {SELECT vac FROM skrzynki WHERE nazwa='${local_part}' \
AND domena='${domain}' AND vac='1'}} {no} {yes}}}"
no_expn
# # nie odpisujemy na maile od list dyskusyjnych oraz na powiadomienia o błędach
# #senders = " ! ^.*-request@.*:\
# ! ^.*@list*.*:\
# ! ^owner-.*@.*:\
# ! ^postmaster@.*:\
# ! ^listmaster@.*:\
# ! ^mailer-daemon@.*\
# ! ^root@.*"
transport = vacation_reply
unseen
# #user = ${local_part}@${domain}
no_verify

w sekcji transport:
vacation_reply:
driver = autoreply
#file = /var/mail/vacation/$local_part/vacation.msg
#file_expand
from = System Automatycznej Odpowiedzi <$original_local_part@$original_domain>
log = /var/log/mail/vacation.log
#once = /var/mail/vacation.db
#once_repeat = 1d
subject = ${if def:h_Subject: {Re: ${quote:${escape:${length_50:$h_Subject:}}} (autoreply)} {Informacja} }
text = ${lookup mysql {SELECT vacation FROM skrzynki WHERE nazwa='${local_part}' \
AND domena='${domain}'}}
to = "$sender_address"

Autor:  Maciek [ poniedziałek, 15 czerwca 2009, 12:58 ]
Tytuł: 

Rozumiem, że to działa wówczas gdy w odpowiedniej tabeli jest "1" dla danego usera. Można by to zaimplementować, ale z kolei pojawia się problem posługiwania się takim ficzerem przez samego użytkownika, czyli jakiegoś panelu dla usera.
Tak mimochodem dodam, że w dzisiejszych czasach vacation ma coraz mniejszy sens.

Autor:  tla [ czwartek, 18 czerwca 2009, 10:12 ]
Tytuł: 

Rozkręćmy zabawę ze skryptem, od teraz wystąpią dodatkowe problemy przez skrypt. Pierwszy to zapętlenie. Ochrony przed tym zjawiskiem tutaj nie widzę. Drugi to polskie znaki diakrytyczne.

Autor:  Maciek [ czwartek, 18 czerwca 2009, 10:17 ]
Tytuł: 

Zapętlenie? Dlaczego?
W przykładzie mamy pobieranie tekstu vacation z odpowiedniej komórki w bazie i to faktycznie może być problem z polskimi literkami.

Autor:  tla [ czwartek, 18 czerwca 2009, 10:22 ]
Tytuł: 

Sytyacja hipotetyczna. Dwie osoby z ustawionym autoresponderem.
Pierwsza wysyła maila do drugiej...

Autor:  Maciek [ czwartek, 18 czerwca 2009, 13:15 ]
Tytuł: 

Jakieś dziesięć lat temu, a może i więcej miałem konto pocztowe z opcją vacation i przydawało się to, ponieważ wyjeżdżając z domu większość ludzi nie miała dostępu do netu. Dziś w dobie notebooków i netbooków, wifi i gprs taka opcja ma niewielki sens. Prywatną pocztę łatwo możemy mieć zawsze ze sobą, a nawet standardowy winuser korzystający z webmaila na WP, da sobie z tym radę. Poczta służbowa to inna bajka, bo ja sądzę, że podczas urlopu, konto pracownika powinno być obsługiwane przez inną kompetentną osobę.
Zapętlanie się vacation może wystąpić, ale nie sądzę, aby to był istotny problem, którym warto sobie zaprzątać głowę.
Znacznie ważniejszym problemem może być kwestia zdefiniowanie wszystkich maili, na które automatycznej odpowiedzi być nie powinno: powiadomienia z allegro, z rozmaitych forów itp. itd.

Autor:  x0wee [ piątek, 27 sierpnia 2010, 10:17 ]
Tytuł: 

czerwo pisze:
Już zrobiłem:
w sekcji routers
user_vacation:
driver = accept
# # nie odpisujemy na błędy bądź listy dyskusyjne
condition = "${if eq{} {${lookup mysql {SELECT vac FROM skrzynki WHERE nazwa='${local_part}' \
AND domena='${domain}' AND vac='1'}} {no} {yes}}}"
no_expn
# # nie odpisujemy na maile od list dyskusyjnych oraz na powiadomienia o błędach
# #senders = " ! ^.*-request@.*:\
# ! ^.*@list*.*:\
# ! ^owner-.*@.*:\
# ! ^postmaster@.*:\
# ! ^listmaster@.*:\
# ! ^mailer-daemon@.*\
# ! ^root@.*"
transport = vacation_reply
unseen
# #user = ${local_part}@${domain}
no_verify

w sekcji transport:
vacation_reply:
driver = autoreply
#file = /var/mail/vacation/$local_part/vacation.msg
#file_expand
from = System Automatycznej Odpowiedzi <$original_local_part@$original_domain>
log = /var/log/mail/vacation.log
#once = /var/mail/vacation.db
#once_repeat = 1d
subject = ${if def:h_Subject: {Re: ${quote:${escape:${length_50:$h_Subject:}}} (autoreply)} {Informacja} }
text = ${lookup mysql {SELECT vacation FROM skrzynki WHERE nazwa='${local_part}' \
AND domena='${domain}'}}
to = "$sender_address"


Postanowiłem sprawdzić twoją konfigurację, faktycznie działa - odpowiedź otrzymałem odrazu.

Jednak pozostali użytkownicy mimo że mieli pole VAC=0 otrzymywali do każdej wysłanej wiadomości automatyczną odpowiedź bez treści.

Nie wiem co może być powodem, @czerwo czy spotkałeś się z tym problemem? możesz podrzucić jak to wygląda u Ciebie teraz?

Strona 1 z 1 Strefa czasowa UTC+2godz.
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/