Contact Form 7 - Inviare un allegato al mittente?

19 ott 2011, 15:35:53
Visualizzazioni: 31.3K
Voti: 2

Ho installato il plugin Contact Form 7 sulla mia istanza WordPress 3.2.1.

Ho configurato un modulo di contatto per permettere agli utenti di richiedere valutazioni.

Tutto funziona correttamente, ma speravo di poter inviare automaticamente un'email con allegata una brochure del prodotto quando inviano una richiesta.

Attualmente ho configurato in questo modo:

Configurazione email Contact Form 7 con tentativo di allegato

Ho provato a usare [file-691] dove 691 è l'ID del file caricato nella libreria media.

Entrambi i metodi non sembrano funzionare.
Qual è il modo corretto per ottenere questo risultato?

0
Tutte le risposte alla domanda 5
0

Per quanto ne so, la funzionalità che stai cercando di utilizzare non è pensata per essere usata in questo modo. In realtà è progettata per consentire a chi compila il form di caricare un file che viene inviato insieme al messaggio email.

Non credo che questa funzionalità sia disponibile per Contact Form 7

19 ott 2011 17:54:41
0

CF7 non funziona in questo modo. Quello che stai cercando di fare deve essere configurato a livello di server o client email, non a livello applicativo in WP.

Configura un risponditore automatico sul tuo server email o nel tuo client email.

24 gen 2012 21:56:54
2

Prova email-before-download utilizzato con il plugin download monitor. Questi si integrano perfettamente con CF7 e tutto ciò che devi fare è selezionare l'ALLEGATO da inviare come email invece di un link di download incorporato. Funziona perfettamente.

20 set 2012 20:44:26
Commenti

Prova a riformattare la tua risposta con maggiori dettagli.

Brian Fegter Brian Fegter
29 set 2012 08:19:32

@aly22, potresti indicarmi la fonte corretta per "email-before-download"

alex alex
17 feb 2013 21:34:34
1

Scusate il mio inglese approssimativo e le mie ancora peggiori competenze in PHP.

Potete usare email-before-download ma... non sono riuscito a farlo funzionare come volevo. Ho provato un po' di codice e penso che questo funzioni. Non è il modo più elegante, ma potete usare il link al file nel campo degli allegati nell'interfaccia di amministrazione. Basta inserire qualcosa come "wp-content/uploads/2013/05/File.pdf" (senza le virgolette) invece di "[file-1234]" e inserire il seguente codice nel vostro functions.php

function mycustom_cf_before_action(&$wpcf7_data) {
    global $mailcounter;
    $mailcounter = 0;
    if ((!empty($wpcf7_data->mail['attachments'])) and (!(0 === strpos($wpcf7_data->mail['attachments'], '['))) ) {
        global $cmail1;
        $cmail1 = '';
        $cmail1 = $wpcf7_data->mail['attachments'];
    }
    if ((!empty($wpcf7_data->mail_2['attachments'])) and (!(0 === strpos($wpcf7_data->mail_2['attachments'], '['))) ) {
        global $cmail2;
        $cmail2 = '';
        $cmail2 = $wpcf7_data->mail_2['attachments'];
    }
}
add_action('wpcf7_before_send_mail', 'mycustom_cf_before_action',1);

function mycustom_wpcf7_mail_components($components){
    global $cmail1;
    global $cmail2;
    global $mailcounter;

    if (($mailcounter == 0) and (!empty($cmail1)) and (empty($components['attachments']))) {
          $components['attachments'][] = $cmail1;
    }
    if (($mailcounter == 1) and (!empty($cmail2)) and (empty($components['attachments']))) {
          $components['attachments'][] = $cmail2;
    }
    $mailcounter = $mailcounter + 1;
    return $components;
}

add_filter( 'wpcf7_mail_components', 'mycustom_wpcf7_mail_components' );

La prima funzione verifica se ci sono allegati "statici", cioè qualsiasi cosa che non inizi con [ o sia vuota

La seconda funzione aggiunge l'allegato statico durante l'invio. Ho provato a usare "uploaded_files" ma poi gli allegati venivano cancellati. Dato che la parte Components è la stessa per mail1 e mail2, bisogna in qualche modo contare. Ecco il motivo di $mailcounter. $cmail1 e $cmail2 servono per inserire i link agli allegati nella parte components. CF7 a questo punto non si preoccupa più dei dati originali del form di contatto, quindi questa era l'unica soluzione che ho visto in questo momento.

3 mag 2013 23:04:43
Commenti

Sembra non funzionare più sulla versione 5.4. Tuttavia, puoi utilizzare questo codice invece add_filter( 'wpcf7_mail_components', function($components, $form = null, $mail = null) { $components['attachments'][] = 'PATH_TO_FILE.pdf'; return $components; }, 100, 3 );

Earlee Earlee
2 giu 2021 08:04:21
0
-3

Credo che questo sia il plugin a cui si fa riferimento: https://wordpress.org/plugins/email-before-download/

24 lug 2014 17:34:30