You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
133 lines
4.7 KiB
133 lines
4.7 KiB
<?php
|
|
ini_set('log_errors', 1);
|
|
ini_set('display_errors', 0);
|
|
|
|
require('thunderbird.conf.php');
|
|
|
|
if(isset($_SERVER['QUERY_STRING']) && preg_match('/^.+@' . DOMAIN . '$/', $_SERVER['QUERY_STRING'])) {
|
|
$temp = explode('@', $_SERVER['QUERY_STRING']);
|
|
$uid = $temp[0];
|
|
|
|
// Bind to the LDAP server
|
|
$link = @ldap_connect(LDAP_SERVER) or die ("Couldn't connect to the LDAP server");
|
|
ldap_set_option($link, LDAP_OPT_PROTOCOL_VERSION, 3);
|
|
@ldap_bind($link) or die ("Couldn't bind to the LDAP server");
|
|
// Lookup the user
|
|
$result = ldap_search($link, USER_BASE, "uid=" . $uid);
|
|
$user = ldap_get_entries($link, $result);
|
|
if($user['count'] == 0) {
|
|
// user not found
|
|
exit;
|
|
}
|
|
}
|
|
else {
|
|
exit;
|
|
}
|
|
?>
|
|
|
|
// Linux / UNIX ?
|
|
if(getenv("USER") != "") {
|
|
var path_sep = '/';
|
|
var path_profile = getenv("HOME");
|
|
}
|
|
// Windows ?
|
|
else {
|
|
var path_sep = '\\';
|
|
var path_profile = getenv("USERPROFILE");
|
|
}
|
|
|
|
// Local Account
|
|
<?php echo PREF;?>("mail.account.account1.server", "server1");
|
|
<?php echo PREF;?>("mail.accountmanager.localfoldersserver", "server1");
|
|
<?php echo PREF;?>("mail.server.server1.directory-rel", "[ProfD]Mail/Local Folders");
|
|
<?php echo PREF;?>("mail.server.server1.hostname", "Local Folders");
|
|
<?php echo PREF;?>("mail.server.server1.name", "Dossiers locaux");
|
|
<?php echo PREF;?>("mail.server.server1.type", "none");
|
|
<?php echo PREF;?>("mail.server.server1.userName", "nobody");
|
|
|
|
// SMTP config
|
|
<?php echo PREF;?>("mail.smtp.defaultserver", "smtp1");
|
|
<?php echo PREF;?>("mail.smtpservers", "smtp1");
|
|
<?php echo PREF;?>("mail.smtpserver.smtp1.try_ssl", 3);
|
|
<?php echo PREF;?>("mail.smtpserver.smtp1.port", <?php echo SMTP_PORT; ?>);
|
|
<?php echo PREF;?>("mail.smtpserver.smtp1.hostname", "<?php echo SMTP_SERVER; ?>");
|
|
<?php echo PREF;?>("mail.smtpserver.smtp1.username", "<?php echo $uid; ?>");
|
|
|
|
// Default account is acocunt2 (the personal account)
|
|
<?php echo PREF;?>("mail.accountmanager.defaultaccount", "account2");
|
|
|
|
|
|
<?php
|
|
$mail = explode('@', $user[0]['mail'][0]);
|
|
$account = 2;
|
|
$id = 1;
|
|
$server = 2;
|
|
$accountlist = 'account1';
|
|
$identities = ''
|
|
?>
|
|
|
|
// Personnal account
|
|
<?php echo PREF;?>("mail.account.account2.server", "server<?php echo $server?>");
|
|
<?php echo PREF;?>("mail.server.server2.hostname", "<?php echo IMAP_SERVER; ?>");
|
|
<?php echo PREF;?>("mail.server.server2.name", "<?php echo $user[0]['mail'][0]; ?>");
|
|
<?php echo PREF;?>("mail.server.server2.port", <?php echo IMAP_PORT; ?>);
|
|
<?php echo PREF;?>("mail.server.server2.socketType", 3);
|
|
<?php echo PREF;?>("mail.server.server2.type", "imap");
|
|
<?php echo PREF;?>("mail.server.server2.userName", "<?php echo $uid; ?>");
|
|
|
|
|
|
<?php
|
|
for ($i=0; $i < count($user[0]['mail'])-1; $i++){
|
|
?>
|
|
<?php echo PREF;?>("mail.identity.id<?php echo $id; ?>.fullName", "<?php echo $user[0]['cn'][0]; ?>");
|
|
<?php echo PREF;?>("mail.identity.id<?php echo $id; ?>.organization", "<?php echo $user[0]['o'][0]; ?>");
|
|
<?php echo PREF;?>("mail.identity.id<?php echo $id; ?>.smtpServer", "smtp1");
|
|
<?php echo PREF;?>("mail.identity.id<?php echo $id; ?>.useremail", "<?php echo $user[0]['mail'][$i]; ?>");
|
|
<?php echo PREF;?>("mail.identity.id<?php echo $id; ?>.valid", true);
|
|
defaultPref("mail.identity.id<?php echo $id; ?>.fcc_folder", "imap://<?php echo $uid; ?>@<?php echo IMAP_SERVER; ?>/Sent");
|
|
defaultPref("mail.identity.id<?php echo $id; ?>.draft_folder", "imap://<?php echo $uid; ?>@<?php echo IMAP_SERVER; ?>/Drafts");
|
|
defaultPref("mail.identity.id<?php echo $id; ?>.stationery_folder", "imap://<?php echo $uid; ?>@<?php echo IMAP_SERVER; ?>/Templates");
|
|
defaultPref("mail.identity.id<?php echo $id; ?>.attach_signature", true);
|
|
defaultPref("mail.identity.id<?php echo $id; ?>.sig_file", path_profile+path_sep+"signature"+path_sep+"email.html");
|
|
<?php
|
|
$identities .= ',id' . $id;
|
|
$account++;
|
|
$id++;
|
|
}
|
|
?>
|
|
<?php echo PREF;?>("mail.account.account2.identities", "<?php echo $identities;?>");
|
|
<?php echo PREF;?>("mail.accountmanager.accounts", "account1,account2");
|
|
|
|
// Disable auto updates
|
|
<?php echo PREF;?>("app.update.enabled", false);
|
|
<?php echo PREF;?>("app.update.auto", false);
|
|
|
|
// Extensions
|
|
<?php echo PREF;?>("extensions.installDistroAddons", true);
|
|
<?php echo PREF;?>("extensions.enabledScopes", 13);
|
|
<?php echo PREF;?>("extensions.autoDisableScopes", 2);
|
|
|
|
// Spam
|
|
<?php echo PREF;?>("mail.adaptivefilters.junk_threshold", 500);
|
|
|
|
// Checks IMAP folders
|
|
defaultPref("mail.check_all_imap_folders_for_new", true);
|
|
|
|
// Composition
|
|
defaultPref("mail.default_html_action", 3);
|
|
|
|
// Attachments
|
|
defaultPref("mail.content_disposition_type ", 1);
|
|
|
|
// Expunge
|
|
defaultPref("mail.imap.expunge_option", 3);
|
|
defaultPref("mail.imap.expunge_threshold_number", 100);
|
|
|
|
<?php
|
|
// Include other conf fragment if they exist
|
|
if (is_array(glob("thunderbird.mod.*.php"))){
|
|
foreach (glob("thunderbird.mod.*.php") as $filename){
|
|
require($filename);
|
|
}
|
|
}
|
|
?>
|
|
|