Всем доброго времени суток.
Есть скрипт, который делает небольшие начальные настройки для thunderbird. Решили унифицировать подпись сотрудникам. Написал небольшой скрипт и дошло дело до подключения новой подписи пользователям.
Сейчас скрипт выглядит так:
#!/usr/bin/perl
use 5.010;
use CGI qw/:standard/;
$smtp_server = "mail.lan";
$imap_server = "mail.lan";
#$organization = "";
print header(
-type=>'application/javascript',
-charset=>'utf-8'
);
$user = param('user');
unless ($user) { die "We need a user, please!\n" }
$user = lc $user;
print <<HEAD;
try {
HEAD
print <<MISC;
lockPref("mail.rights.version", 1);
lockPref("mail.shell.checkDefaultClient", true);
lockPref("mail.cloud_files.enabled", false);
lockPref("mail.phishing.detection.enabled", true);
lockPref("mail.chat.enabled", false);
lockPref("mailnews.start_page.enabled", false);
pref("mail.biff.alert.show_preview", true);
pref("mail.biff.alert.show_sender", true);
pref("mail.biff.alert.show_subject", true);
pref("mail.biff.show_alert", true);
pref("mail.biff.show_tray_icon", true);
pref("mail.biff.show_balloon", true);
pref("mail.biff.play_sound", true);
MISC
print <<BOOKS;
lockPref("ldap_2.servers.Office.auth.saslmech", "GSSAPI");
lockPref("ldap_2.servers.Office.description", "Office");
lockPref("ldap_2.servers.Office.filename", "ldap.mab");
lockPref("ldap_2.servers.Office.maxHits", 100);
lockPref("ldap_2.servers.Office.uri", "");
lockPref("ldap_2.autoComplete.directoryServer", "ldap_2.servers.Office");
lockPref("ldap_2.autoComplete.useDirectory", true);
BOOKS
print <<TAIL;
} catch(e) {
displayError("lockedPref", e);
}
TAIL
У некоторых пользователей больше одной почты, подпись в почте нужно сделать всем и на все учетные записи в клиенте. По идее нужно перебрать их по id. Наткнулся на реализацию описанную ниже, подскажите, а как можно реализовать сами функции getEmails/getName
@mails = getEmails($user);
$name = getName($user);
$i = 0;
@ids = ();
foreach $mail (@mails) {
$i++;
$id = <<ID;
defaultPref("mail.identity.id$i.fullName", "$name");
lockPref("mail.identity.id$i.attach_signature", true)
lockPref("mail.identity.id$i.attach_signature;true", true);
lockPref("mail.identity.id$i.htmlSigText", "");
lockPref("mail.identity.id$i.sig_bottom", true);
lockPref("mail.identity.id$i.sig_file", "/home/name/.thunderbird/t1lek3gz.default/attach.html");
lockPref("mail.identity.id$i.sig_file-rel", "[ProfD]attach.html");
lockPref("mail.identity.id$i.sign_mail", false);
ID
print $id;
push @ids, "id$i";
}
$ids = join ',', @ids;
print <<IDS;
lockPref("mail.account.account1.identities", "$ids");
IDS