postfix i wys

Konfiguracja serwerów, usług, itp.
slon_os
Posty: 30
Rejestracja: 13 lutego 2008, 19:13

postfix i wysłanie wiadomości do wszystkich uŻytkowników

Post autor: slon_os »

Witam.
Jak wysłać do wszystkich (lub wybranych) użytkowników jednakową wiadomość?
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post autor: markossx »

Może załóż alias, do którego przypisz wszystkich użytkowników poczty.
bolse
Posty: 2
Rejestracja: 30 stycznia 2009, 07:18

Post autor: bolse »

Witam,
Zrobiłem tak jak mówił markossx. Działa. Jedynym minusem tego rozwiązania w moim przypadku jest to że każdy z adresatów wiadomości dostaje maila w którym w polu "DO:" jest zamieszczone około 500 adresów (czyli tyle ilu ludzi zostało dopisanych do aliasu). W przypadku niektórych klientów poczty daje to niemiłe efekty.

I tu moje pytanie - czy da się tak zrobić aby w polu "DO:" był tylko jeden adres, a dokładnie tylko adres użytkownika, który otrzymał wiadomość (a nie wszyscy z listy aliasu)?
RaV.
Posty: 87
Rejestracja: 28 czerwca 2006, 15:30
Lokalizacja: 127.0.0.1

Post autor: RaV. »

Mnie po głowie kołacze się myśl, by napisać skrypt, który albo, jeśli korzystasz z maildira, wrzuci plik z wiadomością do katalogu każdego usera, albo lepsiejszy pomysł, który po prostu wyśle maila do każdego. Np. poleceniem mail. Do wykorzystania w sumie jedna prosta pętla.

Kod: Zaznacz cały

for USER in $USERS; do
     mail -s "Temat" $USER < plik_z trescia_maila
done
A zmienną $USERS możesz sobie również odczytać albo z pliku (wygodniejsze i bardziej elastyczne) albo na sztywno wpisać do skryptu.
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post autor: markossx »

RaV. dobrze mówisz ale tu zapewne chodzi o wysyłanie przez użytkowników przez MUA :->
Poniżej nagłówek (zmodyfikowany nieco) wysłany przez 'nadawca' do aliasu, do którego podpiętych jest ponad 60 fizycznych kont:

Kod: Zaznacz cały

From - Thu Jan 29 15:24:36 2009
X-Mozilla-Status: 0001
X-Mozilla-Status2: 00000000
Return-Path: <nadawca@firma.pl>
Delivered-To: [email]odbiorca1@firma.pl[/email]
Received: from localhost (localhost [127.0.0.1])
	by smtp.firma.pl (Postfix) with ESMTP id xxxxxxxx
	for <all@firma.pl>; Thu, 29 Jan 2009 06:46:03 +0100 (CET)
X-Virus-Scanned: Debian amavisd-new at smtp.firma.pl
Received: from smtp.firma.pl ([127.0.0.1])
	by localhost (smtp.firma.pl [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id xxxxxxxxx for <all@firma.pl>;
	Thu, 29 Jan 2009 06:46:03 +0100 (CET)
Received: from [127.0.0.1] (srv.firma.pl [192.168.110.1])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by smtp.firma.pl (Postfix) with ESMTP id xxxxxxxxxxxx
	for <all@firma.pl>; Thu, 29 Jan 2009 06:46:03 +0100 (CET)
Message-ID: <xxxxxxxxxxxxxxxx@firma.pl>
Disposition-Notification-To: nadawca <nadawca@firma.pl>
Date: Thu, 29 Jan 2009 06:46:04 +0100
From: nadawca <nadawca@firma.pl>
User-Agent: Thunderbird 2.0.0.19 (Windows/20081209)
MIME-Version: 1.0
To: [email]all@firma.pl[/email]
Subject: Zadania luty 2009
RaV.
Posty: 87
Rejestracja: 28 czerwca 2006, 15:30
Lokalizacja: 127.0.0.1

Post autor: RaV. »

To ja ciągle będę uparty jak baran i będę obstawiał przy skrypcie. Można by stworzyć specjalny alias, pod który będzie podpięty procmail ze skryptem, który zaproponowałem. Wówczas wysłanie maila do tego wirtualnego użytkownika roześle do wszystkich. Albo można spróbować dorwać jakiś skrypt list dyskusyjnych.
bolse podał trochę za mało informacji, jakie ma konkretnie obwarowania. Czy chce to wysyłać spod konsoli, z MUA, jak piszesz, czy może chciałby mieć stronę www, gdzie wklepuje maila i klika wyślij. Tak na dobrą sprawę sposobów na stworzenie systemu "mailingowego" jest multum :)
bolse, prośba do Ciebie: im więcej szczegółów podasz, co chciałbyś osiągnąć, tym bardziej prawdopodobne, że odpowiedź, którą uzyskasz będzie tą, która Cię najbardziej usatysfakcjonuje :)
bolse
Posty: 2
Rejestracja: 30 stycznia 2009, 07:18

Post autor: bolse »

Może nie sprecyzowałem jasno o co chodzi. Jest sobie stronka WWW na której jest formularz do wysyłania poczty. Po naciśnięciu przycisku WY¦LIJ jest wysyłany mail na adres adres1@firma.pl. Serwer na którym stoi poczta jest obsługiwany przez postfix. I teraz chodzi to aby ten mail który został wysłany na adres adres1@firma.pl był rozesłany na do innych adresatów (nie koniecznie posiadających konto na serwerze). Jak już pisałem udało się to zrobić za pomocą aliasów. Niestety w polu DO jest załączana cała lista adresów z aliasu (a jest to niebezpieczne i niewygodne w przypadku niektórych klientów poczty). Próbowałem też osiągnąć to za pomocą opcji (pola) blind carbon copy - jednakże podobno nie obsługuje on możliwości wysyłania wiadomości do wielu użytkowników (w postfiksie). Czytałem, również że można to zrobić za pomocą pola .forward w katalogu domowym użytkownika ( tutaj opis ). O procmail też coś czytałem ale niestety nie miałem czasu tego wszystkiego przetestować (mam teraz inne zadania). Dzięki za wasze propozycje jeśli uda mi się to jakoś rozwiązać to dam znać.

[ Dodano: 2009-02-02, 13:30 ]
Działa.
Dzisiaj kolega przetestował rozwiązanie z plikiem .forward . W katalogu domowym użytkownika systemu (np. użytkownika o nazwie stefan) stworzył plik .forward . W pliku tym zostały podane adresy do których mail ma zostać rozesłany. Oto przykładowa zawartość pliku .forward:

asia@domena.pl, basia@innadomena.pl, kasia@jeszczeinnadomena.pl

Po wysłaniu maila na stefan@domena.pl jest on automatycznie rozsyłany na adresy wymienione w .forward. I co najważniejsze w nagłówku wiadomości nie ma listy wszystkich adresatów :!: (czyli kasia nie wie że asia lub basia też dostała tego maila :-) ).
ODPOWIEDZ