В /etc/mail/sendmail.mc добавляем:
define(`SMART_HOST', `mail.domain.com')
Ставим пакет для sendmail и апдейтим конфигурацию:
yum install sendmail-cf
make -C /etc/mail
/etc/init.d/sendmail restart
почта
linux, sendmail
Вызывать надо с параметром необходимого почтового ящика.
#!/usr/bin/perl -w
use Cyrus::IMAP::Admin;
my $server="mail.server.com";
my $admin="admin";
my $password="password";
my $quota="300000";
my $client = Cyrus::IMAP::Admin->new($server);
my $user=$ARGV[0];
if($user eq ""){
print 'syntax: create_mail.pl test@test.com';
die;
}
@chars = ("A" .. "Z", "a" .. "z", 0 .. 9);
$userpass = join("", @chars[ map{ rand @chars }(1 .. 10) ]);
system("/bin/echo $userpass | /usr/local/sbin/saslpasswd2 -p -c $user");
system("/bin/echo $user $user >> /usr/local/etc/postfix/virtual");
system("/usr/local/sbin/postmap /usr/local/etc/postfix/virtual");
$client->authenticate(-mechanism => "LOGIN",-user => $admin,-password => $password);
$rc = $client->create("user/$user");
$rc = $client->setacl("user/$user","$user" => 'all');
$rc = $client->setacl("user/$user",'admin' => 'all');
$rc = $client->setquota("user/$user",'STORAGE' => $quota);
print "User: $user Password: $userpass";
почта
cyrus, postfix
В /etc/mail/ правим файл “имя хоста”.mc
define(`SMART_HOST', `mail.domain.com')
make all install restart
почта
sendmail
Правим /etc/aliases (или /etc/mail/aliases, смотря какая система), пишем:
Выполняем команду newaliases и все.
linux, почта
alias, linux
Если надо просто отправлять с сервака мыльные отчеты раз в день, то ставить sendmail, exim или postfix для столько скромных целей явно излишне. Поэтому правильно будет воспользоваться ssmtp.
Ставим его:
В /etc/ssmtp/ssmtp.conf правим строки:
mailhub=my.mail.domain.com
Hostname=this-server.domain.com
И пользуемся:
cat /etc/ssmtp/ssmtp.conf | sendmail my-mail@domain.com
почта
ssmtp, почта
Установим и автоматически заменим системный почтовик:
cd /usr/ports/mail/ssmtp && make install replace clean
В /usr/local/etc/ssmtp/ssmtp.conf
root=admin@domain.ru
mailhub=mail.domain.ru
hostname=this-host.domain.ru
rewritedomain=domain.ru
Таким образом вся почта отправленная на локального root-а уйдет на admin@domain.ru
FreeBSD, почта
FreeBSD, ssmtp, почта
saslpasswd2 -c support@domain.com
cyradm -u admin localhost
mail3.domain.com> cm user/support@domain.com
mail3.domain.com> sam user/support@domain.com support@domain.com all
mail3.domain.com> sam user/support@domain.com admin c
mail3.domain.com> sq user/support@domain.com STORAGE 300000
mail3.domain.com> quit
добавить строку в файл virtual
Если добавляешь домен:
прописать в virtdomains
прописать в imapd.conf
/usr/local/etc/rc.d/imapd restart
Для тестирования работы связки можно использовать:
sasldblistusers2 # список юзеров в сасл-базе
imtest -u user@domain.com -w password mail.domain.com # пробуем локально зайти
Экспортировать список пользователей с паролями из sasdb базы в удобочитаемый вид можно так:
db41_dump -p ./sasldb2 | sed 's/\\00/@/g' | sed 's/@userPassword//g'
почта
cyrus, postfix, sasldb, почта