26 require
'../main.inc.php';
27 require_once DOL_DOCUMENT_ROOT.
'/core/lib/admin.lib.php';
28 require_once DOL_DOCUMENT_ROOT.
'/core/lib/files.lib.php';
31 $langs->loadLangs(array(
'companies',
'products',
'admin',
'mails',
'other',
'errors'));
33 $action =
GETPOST(
'action',
'aZ09');
34 $cancel =
GETPOST(
'cancel',
'aZ09');
40 $usersignature = $user->signature;
42 if ($action ==
'test' || $action ==
'send') {
46 $substitutionarrayfortest = array(
47 '__DOL_MAIN_URL_ROOT__'=>DOL_MAIN_URL_ROOT,
48 '__ID__' =>
'RecipientIdRecord',
50 '__CHECK_READ__' => (!empty($object) && is_object($object) && is_object($object->thirdparty)) ?
'<img src="'.DOL_MAIN_URL_ROOT.
'/public/emailing/mailing-read.php?tag='.$object->thirdparty->tag.
'&securitykey='.urlencode($conf->global->MAILING_EMAIL_UNSUBSCRIBE_KEY).
'" width="1" height="1" style="width:1px;height:1px" border="0"/>' :
'',
51 '__USER_SIGNATURE__' => (($user->signature && empty($conf->global->MAIN_MAIL_DO_NOT_USE_SIGN)) ? $usersignature :
''),
52 '__LOGIN__' => $user->login,
53 '__LASTNAME__' =>
'RecipientLastname',
54 '__FIRSTNAME__' =>
'RecipientFirstname',
55 '__ADDRESS__'=>
'RecipientAddress',
56 '__ZIP__'=>
'RecipientZip',
57 '__TOWN_'=>
'RecipientTown',
58 '__COUNTRY__'=>
'RecipientCountry'
68 if ($action ==
'update' && !$cancel) {
70 dolibarr_set_const($db,
"MAIN_MAIL_SENDMODE_EMAILING",
GETPOST(
"MAIN_MAIL_SENDMODE_EMAILING"),
'chaine', 0,
'', $conf->entity);
71 dolibarr_set_const($db,
"MAIN_MAIL_SMTP_PORT_EMAILING",
GETPOST(
"MAIN_MAIL_SMTP_PORT_EMAILING"),
'chaine', 0,
'', $conf->entity);
72 dolibarr_set_const($db,
"MAIN_MAIL_SMTP_SERVER_EMAILING",
GETPOST(
"MAIN_MAIL_SMTP_SERVER_EMAILING"),
'chaine', 0,
'', $conf->entity);
73 dolibarr_set_const($db,
"MAIN_MAIL_SMTPS_ID_EMAILING",
GETPOST(
"MAIN_MAIL_SMTPS_ID_EMAILING"),
'chaine', 0,
'', $conf->entity);
74 dolibarr_set_const($db,
"MAIN_MAIL_SMTPS_PW_EMAILING",
GETPOST(
"MAIN_MAIL_SMTPS_PW_EMAILING"),
'chaine', 0,
'', $conf->entity);
75 dolibarr_set_const($db,
"MAIN_MAIL_EMAIL_TLS_EMAILING",
GETPOST(
"MAIN_MAIL_EMAIL_TLS_EMAILING"),
'chaine', 0,
'', $conf->entity);
76 dolibarr_set_const($db,
"MAIN_MAIL_EMAIL_STARTTLS_EMAILING",
GETPOST(
"MAIN_MAIL_EMAIL_STARTTLS_EMAILING"),
'chaine', 0,
'', $conf->entity);
77 dolibarr_set_const($db,
"MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING",
GETPOST(
"MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING"),
'chaine', 0,
'', $conf->entity);
79 header(
"Location: ".$_SERVER[
"PHP_SELF"].
"?mainmenu=home&leftmenu=setup");
87 $triggersendname =
'';
89 $mode =
'emailfortest';
90 $trackid = (($action ==
'testhtml') ?
"testhtml" :
"test");
91 $sendcontext =
'emailing';
92 include DOL_DOCUMENT_ROOT.
'/core/actions_sendmails.inc.php';
94 if ($action ==
'presend' &&
GETPOST(
'trackid',
'alphanohtml') ==
'test') {
97 if ($action ==
'presend' &&
GETPOST(
'trackid',
'alphanohtml') ==
'testhtml') {
111 if (preg_match(
'/^win/i', PHP_OS)) {
114 if (preg_match(
'/^mac/i', PHP_OS)) {
118 if (empty($conf->global->MAIN_MAIL_SENDMODE_EMAILING)) {
119 $conf->global->MAIN_MAIL_SENDMODE_EMAILING =
'default';
121 $port = !empty($conf->global->MAIN_MAIL_SMTP_PORT_EMAILING) ? $conf->global->MAIN_MAIL_SMTP_PORT_EMAILING : ini_get(
'smtp_port');
125 $server = !empty($conf->global->MAIN_MAIL_SMTP_SERVER_EMAILING) ? $conf->global->MAIN_MAIL_SMTP_SERVER_EMAILING : ini_get(
'SMTP');
127 $server =
'127.0.0.1';
131 $wikihelp =
'EN:Setup_EMails|FR:Paramétrage_EMails|ES:Configuración_EMails';
139 $listofmethods = array();
140 $listofmethods[
'default'] = $langs->trans(
'DefaultOutgoingEmailSetup');
141 $listofmethods[
'mail'] =
'PHP mail function';
143 $listofmethods[
'smtps'] =
'SMTP/SMTPS socket library';
144 if (version_compare(phpversion(),
'7.0',
'>=')) {
145 $listofmethods[
'swiftmailer'] =
'Swift Mailer socket library';
149 if ($action ==
'edit') {
150 if ($conf->use_javascript_ajax) {
151 print
"\n".
'<script type="text/javascript">';
152 print
'jQuery(document).ready(function () {
153 function initfields()
155 if (jQuery("#MAIN_MAIL_SENDMODE_EMAILING").val()==\'default\')
157 jQuery(".hideifdefault").hide();
161 jQuery(".hideifdefault").show();
164 if (jQuery("#MAIN_MAIL_SENDMODE_EMAILING").val()==\'mail\')
166 jQuery(".drag").hide();
167 jQuery("#MAIN_MAIL_EMAIL_TLS_EMAILING").val(0);
168 jQuery("#MAIN_MAIL_EMAIL_TLS_EMAILING").prop("disabled", true);
169 jQuery("#MAIN_MAIL_EMAIL_STARTTLS_EMAILING").val(0);
170 jQuery("#MAIN_MAIL_EMAIL_STARTTLS_EMAILING").prop("disabled", true);
171 jQuery("#MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING").val(0);
172 jQuery("#MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING").prop("disabled", true);
176 jQuery("#MAIN_MAIL_SMTP_SERVER_EMAILING").hide();
177 jQuery("#MAIN_MAIL_SMTP_PORT_EMAILING").hide();
178 jQuery("#smtp_server_mess").show();
179 jQuery("#smtp_port_mess").show();
183 jQuery("#MAIN_MAIL_SMTP_SERVER_EMAILING").prop("disabled", true);
184 jQuery("#MAIN_MAIL_SMTP_PORT_EMAILING").prop("disabled", true);
185 jQuery("#smtp_server_mess").hide();
186 jQuery("#smtp_port_mess").hide();
191 if (jQuery("#MAIN_MAIL_SENDMODE_EMAILING").val()==\'smtps\')
193 jQuery(".drag").show();
194 jQuery("#MAIN_MAIL_EMAIL_TLS_EMAILING").val('.$conf->global->MAIN_MAIL_EMAIL_TLS_EMAILING.
');
195 jQuery("#MAIN_MAIL_EMAIL_TLS_EMAILING").removeAttr("disabled");
196 jQuery("#MAIN_MAIL_EMAIL_STARTTLS_EMAILING").val('.$conf->global->MAIN_MAIL_EMAIL_STARTTLS_EMAILING.
');
197 jQuery("#MAIN_MAIL_EMAIL_STARTTLS_EMAILING").removeAttr("disabled");
198 jQuery("#MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING").val('.$conf->global->MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING.
');
199 jQuery("#MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING").removeAttr("disabled");
200 jQuery("#MAIN_MAIL_SMTP_SERVER_EMAILING").removeAttr("disabled");
201 jQuery("#MAIN_MAIL_SMTP_PORT_EMAILING").removeAttr("disabled");
202 jQuery("#MAIN_MAIL_SMTP_SERVER_EMAILING").show();
203 jQuery("#MAIN_MAIL_SMTP_PORT_EMAILING").show();
204 jQuery("#smtp_server_mess").hide();
205 jQuery("#smtp_port_mess").hide();
207 if (jQuery("#MAIN_MAIL_SENDMODE_EMAILING").val()==\'swiftmailer\')
209 jQuery(".drag").show();
210 jQuery("#MAIN_MAIL_EMAIL_TLS_EMAILING").val('.$conf->global->MAIN_MAIL_EMAIL_TLS_EMAILING.
');
211 jQuery("#MAIN_MAIL_EMAIL_TLS_EMAILING").removeAttr("disabled");
212 jQuery("#MAIN_MAIL_EMAIL_STARTTLS_EMAILING").val('.$conf->global->MAIN_MAIL_EMAIL_STARTTLS_EMAILING.
');
213 jQuery("#MAIN_MAIL_EMAIL_STARTTLS_EMAILING").removeAttr("disabled");
214 jQuery("#MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING").val('.$conf->global->MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING.
');
215 jQuery("#MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING").removeAttr("disabled");
216 jQuery("#MAIN_MAIL_SMTP_SERVER_EMAILING").removeAttr("disabled");
217 jQuery("#MAIN_MAIL_SMTP_PORT_EMAILING").removeAttr("disabled");
218 jQuery("#MAIN_MAIL_SMTP_SERVER_EMAILING").show();
219 jQuery("#MAIN_MAIL_SMTP_PORT_EMAILING").show();
220 jQuery("#smtp_server_mess").hide();
221 jQuery("#smtp_port_mess").hide();
225 jQuery("#MAIN_MAIL_SENDMODE_EMAILING").change(function() {
228 jQuery("#MAIN_MAIL_EMAIL_TLS_EMAILING").change(function() {
229 if (jQuery("#MAIN_MAIL_EMAIL_TLS_EMAILING").val() == 1)
230 jQuery("#MAIN_MAIL_EMAIL_STARTTLS_EMAILING").val(0);
232 jQuery("#MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING").val(0);
234 jQuery("#MAIN_MAIL_EMAIL_STARTTLS_EMAILING").change(function() {
235 if (jQuery("#MAIN_MAIL_EMAIL_STARTTLS_EMAILING").val() == 1)
236 jQuery("#MAIN_MAIL_EMAIL_TLS_EMAILING").val(0);
238 jQuery("#MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING").val(0);
241 print
'</script>'.
"\n";
244 print
'<form method="post" action="'.$_SERVER[
"PHP_SELF"].
'">';
245 print
'<input type="hidden" name="token" value="'.newToken().
'">';
246 print
'<input type="hidden" name="action" value="update">';
250 print
'<span class="opacitymedium">'.$langs->trans(
"EMailsDesc").
"</span><br>\n";
256 print
'<table class="noborder centpercent">';
257 print
'<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans(
"Parameter").
'</td><td>'.$langs->trans(
"Value").
'</td></tr>';
261 print
'<tr class="oddeven"><td>'.$langs->trans(
"MAIN_MAIL_SENDMODE").
'</td><td>';
264 if ((empty($conf->global->MAIN_MODULE_MULTICOMPANY)) || ($user->admin && !$user->entity)) {
265 print
$form->selectarray(
'MAIN_MAIL_SENDMODE_EMAILING', $listofmethods, $conf->global->MAIN_MAIL_SENDMODE_EMAILING);
267 $text = $listofmethods[$conf->global->MAIN_MAIL_SENDMODE_EMAILING];
269 $text = $langs->trans(
"Undefined");
271 $htmltext = $langs->trans(
"ContactSuperAdminForChange");
272 print
$form->textwithpicto($text, $htmltext, 1,
'superadmin');
273 print
'<input type="hidden" name="MAIN_MAIL_SENDMODE_EMAILING" value="'.$conf->global->MAIN_MAIL_SENDMODE_EMAILING.
'">';
279 print
'<tr class="oddeven hideifdefault">';
280 if (!$conf->use_javascript_ajax && $linuxlike && $conf->global->MAIN_MAIL_SENDMODE_EMAILING ==
'mail') {
282 print $langs->trans(
"MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike");
284 print
'<span class="opacitymedium">'.$langs->trans(
"SeeLocalSendMailSetup").
'</span>';
288 $mainserver = (!empty($conf->global->MAIN_MAIL_SMTP_SERVER_EMAILING) ? $conf->global->MAIN_MAIL_SMTP_SERVER_EMAILING :
'');
289 $smtpserver = ini_get(
'SMTP') ?ini_get(
'SMTP') : $langs->transnoentities(
"Undefined");
291 print $langs->trans(
"MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike");
293 print $langs->trans(
"MAIN_MAIL_SMTP_SERVER", $smtpserver);
297 if (empty($conf->multicompany->enabled) || ($user->admin && !$user->entity)) {
298 print
'<input class="flat minwidth300" id="MAIN_MAIL_SMTP_SERVER_EMAILING" name="MAIN_MAIL_SMTP_SERVER_EMAILING" size="18" value="'.$mainserver.
'">';
299 print
'<input type="hidden" id="MAIN_MAIL_SMTP_SERVER_EMAILING_sav" name="MAIN_MAIL_SMTP_SERVER_EMAILING_sav" value="'.$mainserver.
'">';
300 print
'<span id="smtp_server_mess" class="opacitymedium">'.$langs->trans(
"SeeLocalSendMailSetup").
'</span>';
301 print
' <span class="opacitymedium smtp_method">'.$langs->trans(
"SeeLinkToOnlineDocumentation").
'</span>';
303 $text = !empty($mainserver) ? $mainserver : $smtpserver;
304 $htmltext = $langs->trans(
"ContactSuperAdminForChange");
305 print
$form->textwithpicto($text, $htmltext, 1,
'superadmin');
306 print
'<input type="hidden" id="MAIN_MAIL_SMTP_SERVER_EMAILING" name="MAIN_MAIL_SMTP_SERVER_EMAILING" value="'.$mainserver.
'">';
314 print
'<tr class="oddeven hideifdefault"><td>';
315 if (!$conf->use_javascript_ajax && $linuxlike && $conf->global->MAIN_MAIL_SENDMODE_EMAILING ==
'mail') {
316 print $langs->trans(
"MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike");
318 print
'<span class="opacitymedium">'.$langs->trans(
"SeeLocalSendMailSetup").
'</span>';
320 $mainport = (!empty($conf->global->MAIN_MAIL_SMTP_PORT_EMAILING) ? $conf->global->MAIN_MAIL_SMTP_PORT_EMAILING :
'');
321 $smtpport = ini_get(
'smtp_port') ?ini_get(
'smtp_port') : $langs->transnoentities(
"Undefined");
323 print $langs->trans(
"MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike");
325 print $langs->trans(
"MAIN_MAIL_SMTP_PORT", $smtpport);
329 if (empty($conf->multicompany->enabled) || ($user->admin && !$user->entity)) {
330 print
'<input class="flat" id="MAIN_MAIL_SMTP_PORT_EMAILING" name="MAIN_MAIL_SMTP_PORT_EMAILING" size="3" value="'.$mainport.
'">';
331 print
'<input type="hidden" id="MAIN_MAIL_SMTP_PORT_EMAILING_sav" name="MAIN_MAIL_SMTP_PORT_EMAILING_sav" value="'.$mainport.
'">';
332 print
'<span id="smtp_port_mess" class="opacitymedium">'.$langs->trans(
"SeeLocalSendMailSetup").
'</span>';
334 $text = (!empty($mainport) ? $mainport : $smtpport);
335 $htmltext = $langs->trans(
"ContactSuperAdminForChange");
336 print
$form->textwithpicto($text, $htmltext, 1,
'superadmin');
337 print
'<input type="hidden" id="MAIN_MAIL_SMTP_PORT_EMAILING" name="MAIN_MAIL_SMTP_PORT_EMAILING" value="'.$mainport.
'">';
343 if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array(
'smtps',
'swiftmailer')))) {
344 $mainstmpid = (!empty($conf->global->MAIN_MAIL_SMTPS_ID_EMAILING) ? $conf->global->MAIN_MAIL_SMTPS_ID_EMAILING :
'');
345 print
'<tr class="drag drop oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_SMTPS_ID").
'</td><td>';
347 if (empty($conf->multicompany->enabled) || ($user->admin && !$user->entity)) {
348 print
'<input class="flat" name="MAIN_MAIL_SMTPS_ID_EMAILING" size="32" value="'.$mainstmpid.
'">';
350 $htmltext = $langs->trans(
"ContactSuperAdminForChange");
351 print
$form->textwithpicto($conf->global->MAIN_MAIL_SMTPS_ID_EMAILING, $htmltext, 1,
'superadmin');
352 print
'<input type="hidden" name="MAIN_MAIL_SMTPS_ID_EMAILING" value="'.$mainstmpid.
'">';
358 if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array(
'smtps',
'swiftmailer')))) {
359 $mainsmtppw = (!empty($conf->global->MAIN_MAIL_SMTPS_PW_EMAILING) ? $conf->global->MAIN_MAIL_SMTPS_PW_EMAILING :
'');
360 print
'<tr class="drag drop oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_SMTPS_PW").
'</td><td>';
362 if (empty($conf->multicompany->enabled) || ($user->admin && !$user->entity)) {
363 print
'<input class="flat" type="password" name="MAIN_MAIL_SMTPS_PW_EMAILING" size="32" value="'.$mainsmtppw.
'">';
365 $htmltext = $langs->trans(
"ContactSuperAdminForChange");
366 print
$form->textwithpicto($conf->global->MAIN_MAIL_SMTPS_PW_EMAILING, $htmltext, 1,
'superadmin');
367 print
'<input type="hidden" name="MAIN_MAIL_SMTPS_PW_EMAILING" value="'.$mainsmtppw.
'">';
373 print
'<tr class="oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_EMAIL_TLS").
'</td><td>';
374 if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array(
'smtps',
'swiftmailer')))) {
375 if (function_exists(
'openssl_open')) {
376 print
$form->selectyesno(
'MAIN_MAIL_EMAIL_TLS_EMAILING', (!empty($conf->global->MAIN_MAIL_EMAIL_TLS_EMAILING) ? $conf->global->MAIN_MAIL_EMAIL_TLS_EMAILING : 0), 1);
378 print
yn(0).
' ('.$langs->trans(
"YourPHPDoesNotHaveSSLSupport").
')';
381 print
yn(0).
' ('.$langs->trans(
"NotSupported").
')';
386 print
'<tr class="oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_EMAIL_STARTTLS").
'</td><td>';
387 if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array(
'smtps',
'swiftmailer')))) {
388 if (function_exists(
'openssl_open')) {
389 print
$form->selectyesno(
'MAIN_MAIL_EMAIL_STARTTLS_EMAILING', (!empty($conf->global->MAIN_MAIL_EMAIL_STARTTLS_EMAILING) ? $conf->global->MAIN_MAIL_EMAIL_STARTTLS_EMAILING : 0), 1);
391 print
yn(0).
' ('.$langs->trans(
"YourPHPDoesNotHaveSSLSupport").
')';
394 print
yn(0).
' ('.$langs->trans(
"NotSupported").
')';
399 print
'<tr class="oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED").
'</td><td>';
400 if (!empty($conf->use_javascript_ajax) || (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array(
'smtps',
'swiftmailer')))) {
401 if (function_exists(
'openssl_open')) {
402 print
$form->selectyesno(
'MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING', (!empty($conf->global->MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING) ? $conf->global->MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED_EMAILING : 0), 1);
404 print
yn(0).
' ('.$langs->trans(
"YourPHPDoesNotHaveSSLSupport").
')';
407 print
yn(0).
' ('.$langs->trans(
"NotSupported").
')';
415 print
$form->buttonsSaveCancel();
421 print
'<span class="opacitymedium">'.$langs->trans(
"EMailsDesc").
"</span><br>\n";
424 print
'<div class="div-table-responsive-no-min">';
425 print
'<table class="noborder centpercent">';
426 print
'<tr class="liste_titre"><td class="titlefieldmiddle">'.$langs->trans(
"Parameter").
'</td><td>'.$langs->trans(
"Value").
'</td></tr>';
429 print
'<tr class="oddeven"><td>'.$langs->trans(
"MAIN_MAIL_SENDMODE").
'</td><td>';
432 $text = $langs->trans(
"Undefined").img_warning();
435 print
'<span class="opacitymedium">'.$text.
'</span>';
441 if (!empty($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && $conf->global->MAIN_MAIL_SENDMODE_EMAILING !=
'default') {
443 if ($linuxlike && (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && $conf->global->MAIN_MAIL_SENDMODE_EMAILING ==
'mail')) {
444 print
'<tr class="oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_SMTP_SERVER_NotAvailableOnLinuxLike").
'</td><td>'.$langs->trans(
"SeeLocalSendMailSetup").
'</td></tr>';
446 print
'<tr class="oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_SMTP_SERVER", ini_get(
'SMTP') ?ini_get(
'SMTP') : $langs->transnoentities(
"Undefined")).
'</td><td>'.(!empty($conf->global->MAIN_MAIL_SMTP_SERVER_EMAILING) ? $conf->global->MAIN_MAIL_SMTP_SERVER_EMAILING :
'').
'</td></tr>';
450 if ($linuxlike && (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && $conf->global->MAIN_MAIL_SENDMODE_EMAILING ==
'mail')) {
451 print
'<tr class="oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_SMTP_PORT_NotAvailableOnLinuxLike").
'</td><td>'.$langs->trans(
"SeeLocalSendMailSetup").
'</td></tr>';
453 print
'<tr class="oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_SMTP_PORT", ini_get(
'smtp_port') ?ini_get(
'smtp_port') : $langs->transnoentities(
"Undefined")).
'</td><td>'.(!empty($conf->global->MAIN_MAIL_SMTP_PORT_EMAILING) ? $conf->global->MAIN_MAIL_SMTP_PORT_EMAILING :
'').
'</td></tr>';
457 if (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array(
'smtps',
'swiftmailer'))) {
458 print
'<tr class="oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_SMTPS_ID").
'</td><td>'.
getDolGlobalString(
'MAIN_MAIL_SMTPS_ID_EMAILING').
'</td></tr>';
462 if (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array(
'smtps',
'swiftmailer'))) {
463 print
'<tr class="oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_SMTPS_PW").
'</td><td>'.preg_replace(
'/./',
'*',
getDolGlobalString(
'MAIN_MAIL_SMTPS_PW_EMAILING')).
'</td></tr>';
467 print
'<tr class="oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_EMAIL_TLS").
'</td><td>';
468 if (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array(
'smtps',
'swiftmailer'))) {
469 if (function_exists(
'openssl_open')) {
470 print
yn($conf->global->MAIN_MAIL_EMAIL_TLS_EMAILING);
472 print
yn(0).
' ('.$langs->trans(
"YourPHPDoesNotHaveSSLSupport").
')';
475 print
'<span class="opacitymedium">'.yn(0).
' ('.$langs->trans(
"NotSupported").
')</span>';
480 print
'<tr class="oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_EMAIL_STARTTLS").
'</td><td>';
481 if (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array(
'smtps',
'swiftmailer'))) {
482 if (function_exists(
'openssl_open')) {
483 print
yn($conf->global->MAIN_MAIL_EMAIL_STARTTLS_EMAILING);
485 print
yn(0).
' ('.$langs->trans(
"YourPHPDoesNotHaveSSLSupport").
')';
488 print
yn(0).
' ('.$langs->trans(
"NotSupported").
')';
493 print
'<tr class="oddeven hideifdefault"><td>'.$langs->trans(
"MAIN_MAIL_EMAIL_SMTP_ALLOW_SELF_SIGNED").
'</td><td>';
494 if (isset($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && in_array($conf->global->MAIN_MAIL_SENDMODE_EMAILING, array(
'smtps',
'swiftmailer'))) {
495 if (function_exists(
'openssl_open')) {
498 print
yn(0).
' ('.$langs->trans(
"YourPHPDoesNotHaveSSLSupport").
')';
501 print
yn(0).
' ('.$langs->trans(
"NotSupported").
')';
512 if ($conf->global->MAIN_MAIL_SENDMODE_EMAILING ==
'mail' && empty($conf->global->MAIN_FIX_FOR_BUGGED_MTA)) {
523 print
info_admin($langs->trans(
"SendmailOptionMayHurtBuggedMTA"));
529 print
'<div class="tabsAction">';
531 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=edit&token='.
newToken().
'">'.$langs->trans(
"Modify").
'</a>';
533 if (!empty($conf->global->MAIN_MAIL_SENDMODE_EMAILING) && $conf->global->MAIN_MAIL_SENDMODE_EMAILING !=
'default') {
534 if ($conf->global->MAIN_MAIL_SENDMODE_EMAILING !=
'mail' || !$linuxlike) {
535 if (function_exists(
'fsockopen') && $port && $server) {
536 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=testconnect">'.$langs->trans(
"DoTestServerAvailability").
'</a>';
539 print
'<a class="butActionRefused classfortooltip" href="#" title="'.$langs->trans(
"FeatureNotAvailableOnLinux").
'">'.$langs->trans(
"DoTestServerAvailability").
'</a>';
542 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=test&mode=init">'.$langs->trans(
"DoTestSend").
'</a>';
544 if (!empty($conf->fckeditor->enabled)) {
545 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?action=testhtml&mode=init">'.$langs->trans(
"DoTestSendHTML").
'</a>';
552 if ($conf->global->MAIN_MAIL_SENDMODE_EMAILING ==
'mail' && !in_array($action, array(
'testconnect',
'test',
'testhtml'))) {
553 $text = $langs->trans(
"WarningPHPMail");
558 if ($action ==
'testconnect') {
559 print
'<div id="formmailaftertstconnect" name="formmailaftertstconnect"></div>';
562 include_once DOL_DOCUMENT_ROOT.
'/core/class/CMailFile.class.php';
563 $mail =
new CMailFile(
'',
'',
'',
'', array(), array(), array(),
'',
'', 0,
'',
'',
'',
'', $trackid, $sendcontext);
565 $result = $mail->check_server_port($server, $port);
567 print
'<div class="ok">'.$langs->trans(
"ServerAvailableOnIPOrPort", $server, $port).
'</div>';
569 $errormsg = $langs->trans(
"ServerNotAvailableOnIPOrPort", $server, $port);
572 $errormsg .=
' - '.$mail->error;
581 if ($action ==
'test' || $action ==
'testhtml') {
582 print
'<div id="formmailbeforetitle" name="formmailbeforetitle"></div>';
583 print
load_fiche_titre($action ==
'testhtml' ? $langs->trans(
"DoTestSendHTML") : $langs->trans(
"DoTestSend"));
588 include_once DOL_DOCUMENT_ROOT.
'/core/class/html.formmail.class.php';
590 $formmail->trackid = (($action ==
'testhtml') ?
"testhtml" :
"test");
591 $formmail->fromname = (
GETPOSTISSET(
'fromname') ?
GETPOST(
'fromname',
'restricthtml') : $conf->global->MAIN_MAIL_EMAIL_FROM);
592 $formmail->frommail = (
GETPOSTISSET(
'frommail') ?
GETPOST(
'frommail',
'restricthtml') : $conf->global->MAIN_MAIL_EMAIL_FROM);
593 $formmail->fromid = $user->id;
594 $formmail->fromalsorobot = 1;
595 $formmail->withfromreadonly = 0;
596 $formmail->withsubstit = 0;
597 $formmail->withfrom = 1;
598 $formmail->witherrorsto = 1;
599 $formmail->withto = (
GETPOSTISSET(
'sendto') ?
GETPOST(
'sendto',
'restricthtml') : ($user->email ? $user->email : 1));
600 $formmail->withtocc = (
GETPOSTISSET([
'sendtocc']) ?
GETPOST(
'sendtocc',
'restricthtml') : 1);
601 $formmail->withtoccc = (
GETPOSTISSET([
'sendtoccc']) ?
GETPOST(
'sendtoccc',
'restricthtml') : 1);
602 $formmail->withtopic = (
GETPOSTISSET(
'subject') ?
GETPOST(
'subject') : $langs->trans(
"Test"));
603 $formmail->withtopicreadonly = 0;
604 $formmail->withfile = 2;
605 $formmail->withbody = (
GETPOSTISSET(
'message') ?
GETPOST(
'message',
'restricthtml') : ($action ==
'testhtml' ? $langs->transnoentities(
"PredefinedMailTestHtml") : $langs->transnoentities(
"PredefinedMailTest")));
606 $formmail->withbodyreadonly = 0;
607 $formmail->withcancel = 1;
608 $formmail->withdeliveryreceipt = 1;
609 $formmail->withfckeditor = ($action ==
'testhtml' ? 1 : 0);
610 $formmail->ckeditortoolbar =
'dolibarr_mailings';
612 $formmail->substit = $substitutionarrayfortest;
614 $formmail->param[
"action"] =
"send";
615 $formmail->param[
"models"] =
"body";
616 $formmail->param[
"mailid"] = 0;
617 $formmail->param[
"returnurl"] = $_SERVER[
"PHP_SELF"];
620 if (
GETPOST(
"mode",
"aZ09") ==
'init') {
621 $formmail->clear_attached_files();
624 print $formmail->get_form(
'addfile',
'removefile');