Changeset 100655 in spip-zone for _plugins_/facteur


Ignore:
Timestamp:
Nov 24, 2016, 11:55:05 PM (3 years ago)
Author:
pierre.laszczak@…
Message:

Donner la possibilité de valider des certificats auto-signés sur des connexions smtp sécurisées (tls)

Location:
_plugins_/facteur/trunk
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/facteur/trunk/classes/facteur.php

    r98944 r100655  
    5858                        'cc', 'bcc',
    5959                        'smtp', 'smtp_host', 'smtp_port', 'smtp_auth',
    60                         'smtp_username', 'smtp_password', 'smtp_secure', 'smtp_sender',
     60                        'smtp_username', 'smtp_password', 'smtp_secure', 'smtp_sender', 'smtp_tls_allow_self_signed',
    6161                        'filtre_images', 'filtre_iso_8859',
    6262                ) as $config) {
     
    165165                        if ($options['smtp_secure'] == 'tls') {
    166166                                $this->SMTPSecure = 'tls';
     167                        }
     168
     169                        if ( $options['smtp_secure'] == 'tls' && $options['smtp_tls_allow_self_signed'] == 'oui' ) {
     170                                $this->SMTPOptions = array(
     171                                        'ssl' => array('allow_self_signed' => true)
     172                                );
    167173                        }
    168174
  • _plugins_/facteur/trunk/formulaires/configurer_facteur.html

    r100653 r100655  
    117117                                                        </div>
    118118                                                </li>
     119                                                <li class="editer editer_facteur_smtp_tls_allow_self_signed [ (#ENV**{erreurs}|table_valeur{facteur_smtp_tls_allow_self_signed}|oui)erreur]">
     120                                                        <label><:facteur:configuration_facteur_smtp_tls_allow_self_signed:></label>
     121                                                        [<span class='erreur_message'>(#ENV**{erreurs}|table_valeur{facteur_smtp_tls_allow_self_signed})</span>]
     122                                                        <div class="choix">
     123                                                                <input type="radio" name="facteur_smtp_tls_allow_self_signed" class="radio" value="non" id="facteur_smtp_tls_allow_self_signed_non"[(#ENV{facteur_smtp_tls_allow_self_signed,'non'}|=={non}|oui)checked="checked"]/>
     124                                                                <label for="facteur_smtp_tls_allow_self_signed_non"><:facteur:facteur_smtp_tls_allow_self_signed_non:></label>
     125                                                        </div>
     126                                                        <div class="choix">
     127                                                                <input type="radio" name="facteur_smtp_tls_allow_self_signed" class="radio" value="oui" id="facteur_smtp_tls_allow_self_signed_oui"[(#ENV{facteur_smtp_tls_allow_self_signed,'non'}|=={oui}|oui)checked="checked"]/>
     128                                                                <label for="facteur_smtp_tls_allow_self_signed_oui"><:facteur:facteur_smtp_tls_allow_self_signed_oui:></label>
     129                                                        </div>
     130                                                </li>
    119131                                                <li class="editer editer_facteur_smtp_sender [ (#ENV**{erreurs}|table_valeur{facteur_smtp_sender}|oui)erreur]">
    120132                                                        <label for="facteur_smtp_sender"><:facteur:facteur_smtp_sender:></label>[
     
    204216                                jQuery('.editer_facteur_smtp_param').hide('fast');
    205217        });
     218        jQuery('input[name=facteur_smtp_secure]').change(function(){
     219                if (jQuery(this).attr('value')=='tls')
     220                        jQuery('.editer_facteur_smtp_tls_allow_self_signed').show('fast');
     221                else
     222                        jQuery('.editer_facteur_smtp_tls_allow_self_signed').hide('fast');
     223        });
    206224        jQuery('input[name=facteur_smtp_auth]').change(function(){
    207225                        if (jQuery(this).attr('value')=='oui')
  • _plugins_/facteur/trunk/formulaires/configurer_facteur.php

    r100653 r100655  
    1414        include_spip('inc/config');
    1515        $valeurs = array(
    16                 'facteur_adresse_envoi'       => lire_config('facteur_adresse_envoi'),
    17                 'facteur_adresse_envoi_nom'   => lire_config('facteur_adresse_envoi_nom'),
    18                 'facteur_adresse_envoi_email' => lire_config('facteur_adresse_envoi_email'),
    19                 'facteur_forcer_from'         => lire_config('facteur_forcer_from'),
    20                 'facteur_smtp'                => lire_config('facteur_smtp'),
    21                 'facteur_smtp_host'           => lire_config('facteur_smtp_host'),
    22                 'facteur_smtp_port'           => lire_config('facteur_smtp_port', 25),
    23                 'facteur_smtp_auth'           => lire_config('facteur_smtp_auth'),
    24                 'facteur_smtp_username'       => lire_config('facteur_smtp_username'),
    25                 'facteur_smtp_password'       => '',
    26                 '_facteur_smtp_password'       => lire_config('facteur_smtp_password'),
    27                 'facteur_smtp_secure'         => lire_config('facteur_smtp_secure'),
    28                 'facteur_smtp_sender'         => lire_config('facteur_smtp_sender'),
    29                 'facteur_filtre_images'       => lire_config('facteur_filtre_images'),
    30                 'facteur_filtre_iso_8859'     => lire_config('facteur_filtre_iso_8859'),
    31                 'facteur_cc'                  => lire_config('facteur_cc'),
    32                 'facteur_bcc'                 => lire_config('facteur_bcc'),
    33                 'email_test'                  => lire_config('facteur_adresse_envoi') == 'oui' ? lire_config('facteur_adresse_envoi_email') : $GLOBALS['meta']['email_webmaster'],
    34                 'tester'                      => '',
     16                'facteur_adresse_envoi'             => lire_config('facteur_adresse_envoi'),
     17                'facteur_adresse_envoi_nom'         => lire_config('facteur_adresse_envoi_nom'),
     18                'facteur_adresse_envoi_email'       => lire_config('facteur_adresse_envoi_email'),
     19                'facteur_forcer_from'               => lire_config('facteur_forcer_from'),
     20                'facteur_smtp'                      => lire_config('facteur_smtp'),
     21                'facteur_smtp_host'                 => lire_config('facteur_smtp_host'),
     22                'facteur_smtp_port'                 => lire_config('facteur_smtp_port', 25),
     23                'facteur_smtp_auth'                 => lire_config('facteur_smtp_auth'),
     24                'facteur_smtp_username'             => lire_config('facteur_smtp_username'),
     25                'facteur_smtp_password'             => '',
     26                '_facteur_smtp_password'            => lire_config('facteur_smtp_password'),
     27                'facteur_smtp_secure'               => lire_config('facteur_smtp_secure'),
     28                'facteur_smtp_tls_allow_self_signed'=> lire_config('facteur_smtp_tls_allow_self_signed'),
     29                'facteur_smtp_sender'               => lire_config('facteur_smtp_sender'),
     30                'facteur_filtre_images'             => lire_config('facteur_filtre_images'),
     31                'facteur_filtre_iso_8859'           => lire_config('facteur_filtre_iso_8859'),
     32                'facteur_cc'                        => lire_config('facteur_cc'),
     33                'facteur_bcc'                       => lire_config('facteur_bcc'),
     34                'email_test'                        => lire_config('facteur_adresse_envoi') == 'oui' ? lire_config('facteur_adresse_envoi_email') : $GLOBALS['meta']['email_webmaster'],
     35                'tester'                            => '',
    3536        );
    3637
     
    153154        ecrire_meta('facteur_smtp_secure', in_array($facteur_smtp_secure, array('non', 'ssl', 'tls')) ? $facteur_smtp_secure : 'non');
    154155
     156        $facteur_smtp_tls_allow_self_signed = _request('facteur_smtp_tls_allow_self_signed');
     157        ecrire_meta('facteur_smtp_tls_allow_self_signed', ($facteur_smtp_tls_allow_self_signed=='oui')?'oui':'non');
     158
    155159        $facteur_smtp_sender = _request('facteur_smtp_sender');
    156160        ecrire_meta('facteur_smtp_sender', $facteur_smtp_sender);
  • _plugins_/facteur/trunk/lang/facteur_fr.php

    r97328 r100655  
    1515        'configuration_smtp' => 'Choix de la méthode d’envoi de mail',
    1616        'configuration_smtp_descriptif' => 'Si vous n’êtes pas sûrs, choisissez la fonction mail de PHP.',
     17        'configuration_facteur_smtp_tls_allow_self_signed' => 'Validation du certificat SSL',
    1718        'corps_email_de_test' => 'Ceci est un email de test accentué',
    1819
     
    5253        'facteur_smtp_sender' => 'Adresse de retour des erreurs (optionnel)',
    5354        'facteur_smtp_sender_descriptif' => 'Définit dans l’entête du mail l’adresse email de retour des erreurs (ou Return-Path)',
     55        'facteur_smtp_tls_allow_self_signed_non' => 'le certificat SSL du serveur SMTP est émis par une Autorité de Certification (recommandé).',
     56        'facteur_smtp_tls_allow_self_signed_oui' => 'le certificat SSL du serveur SMTP est auto-signé.',
    5457        'facteur_smtp_username' => 'Nom d’utilisateur :',
    5558
  • _plugins_/facteur/trunk/paquet.xml

    r100653 r100655  
    22        prefix="facteur"
    33        categorie="communication"
    4         version="3.4.4"
     4        version="3.4.5"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
Note: See TracChangeset for help on using the changeset viewer.