Invio email (era: phpmailer)

ertrottola

Utente Attivo
10 Ago 2011
81
0
0
cos'è questo errore

Could not instantiate mail function. Message could not be sent.

Mailer Error: Could not instantiate mail function.
 

ertrottola

Utente Attivo
10 Ago 2011
81
0
0
ok cosi invia le email
ma non la risposta automatica puoi aiutarmi per questo ultimo sforzo?
questo è il codice

PHP:
<?php require_once('../../Connections/fitnesscenter.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

mysql_select_db($database_fitnesscenter, $fitnesscenter);
$query_Rs_mail = "SELECT nome, cognome, email, attivita FROM prova_gratis ORDER BY id DESC";
$Rs_mail = mysql_query($query_Rs_mail, $fitnesscenter) or die(mysql_error());
$row_Rs_mail = mysql_fetch_assoc($Rs_mail);
$totalRows_Rs_mail = mysql_num_rows($Rs_mail);

$nome = $_POST['nome']; 
$cognome = $_POST['cognome']; 
$telefono = $_POST['telefono']; 
$email = $_POST['email']; 
$attivita = $_POST['attivita']; 
require_once 'class.phpmailer.php';
$mail = new PHPMailer();
  // set mailer to use SMTP 
//$mail->Host = "";  // specify main and backup server 
//$mail->Username = "";  // SMTP username 
//$mail->Password = ""; // SMTP password 
$mail->From     = '[email protected]'; 
$mail->FromName = '[email protected]'; 
$mail->SetLanguage("it", "language/phpmailer.lang-it.php"); 
$mail->AddAddress("[email protected]", "Dawid Grace"); 
//$mail->AddAddress("[email protected]"); // name is optional 
$mail->AddReplyTo("$email", "Ciao $nome $cognome /n
Hai richiesto una prova gratuita per l'attività $attivita "); 

$mail->WordWrap = 50;  // set word wrap to 50 characters 
//$mail->AddAttachment("/var/tmp/file.tar.gz");  / add attachments 
//$mail->AddAttachment("/tmp/image.jpg", "new.jpg");  // optional name 
$mail->IsHTML(true);// set email format to HTML 

$mail->Subject = "Richiesta prova gratuita"; 
$mail->Body    = "<br /><br />Nuova richiesta di prova gratuita, ecco i dati:<br />
Nome: $nome<br />
Cognome: $cognome<br />
Telefono: $telefono<br />
Email: $email<br />
Attività $attivita<br /><br />
"; 
$mail->AltBody = "This is the body in plain text for non-HTML mail clients"; 

if(!$mail->Send()) 
{ 
   echo "Message could not be sent. <p>"; 
   echo "Mailer Error: " . $mail->ErrorInfo; 
   exit; 
}

mysql_free_result($Rs_mail);
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
se non mi sbaglio, stai facendo un po' di confusione.
da quello che ho capito se pinco vuole avere il tagliando deve riempire il form e submittare, in questo modo riceve una email con il tagliando, giusto?
se il tagliando deve essere inviato a pinco che ha l'email [email protected], con l'istruzione
$mail->AddAddress("[email protected]", "Dawid Grace");
non mandi il tagliando a pinco, ma a [email protected], quindi dovresti mettere
$mail->AddAddress($email, $nome);
cioè l'amail e il nome di pinco
poi se vuoi ricevere anche tu l'email, per vedere subito che pinco ha richiesto il tagliando
$mail->AddBCC("[email protected]", "Dawid Grace");
un altro piccolo particolare (sempre che abbia capito il meccanismo del tuo ambaradan) se il client di posta di pinco non è settato per html, pico riceve il messaggio

This is the body in plain text for non-HTML mail clients
mentre dovrebbere comunque ricevere il tagliando anche se in formato testo


p.s.
spiegami a che ti serve poi questa parte

PHP:
//...mysql_select_db($database_fitnesscenter, $fitnesscenter); 
$query_Rs_mail = "SELECT nome, cognome, email, attivita FROM prova_gratis ORDER BY id DESC"; 
$Rs_mail = mysql_query($query_Rs_mail, $fitnesscenter) or die(mysql_error()); 
$row_Rs_mail = mysql_fetch_assoc($Rs_mail); 
$totalRows_Rs_mail = mysql_num_rows($Rs_mail);
//...
interroghi il db, tiri fuori dei dati, li conti e poi?
 

ertrottola

Utente Attivo
10 Ago 2011
81
0
0
ok ok ok ok arrivano due, ora al cliente però deve arrivare ciao $nome $cognome hai richiesto di effettuare una prova gratuita presso una delle nostre palestre per l'attività $attivita

questo:

PHP:
//...mysql_select_db($database_fitnesscenter, $fitnesscenter); 
$query_Rs_mail = "SELECT nome, cognome, email, attivita FROM prova_gratis ORDER BY id DESC"; 
$Rs_mail = mysql_query($query_Rs_mail, $fitnesscenter) or die(mysql_error()); 
$row_Rs_mail = mysql_fetch_assoc($Rs_mail); 
$totalRows_Rs_mail = mysql_num_rows($Rs_mail);
//...
mi serve per recuperare l' ultima email, nome e cognome del tizio per poi rispondere in automatico
o no serve a un c.....

dai ti prego ci6 vicinissimo....:angel:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
dovresti mettere così
PHP:
<?php
//....
$mail->Body  ="<br /><br />ciao <strong>$nome $cognome</strong><br /> hai richiesto di effettuare una prova gratuita presso una delle nostre palestre per l'attività $attivita<br />";
//e, se vuoi, nel testo tipo html puoi aggiungere anche altri tag o attributi es. <strong style="color:#FF0000; ">.....</strong>
//...
?>
mentre nel testo non html

PHP:
<?php
//...
$mail->AltBody = "/n/n ciao $nome $cognome /n hai richiesto di effettuare una prova gratuita presso una delle nostre palestre per l'attività $attivita /n"; 
//...
?>
 

ertrottola

Utente Attivo
10 Ago 2011
81
0
0
Salve Borgo il senso era: "allora vuoi dire che non serve a un c..... " cioè che secondo te non serve?. non mi sarei mai permessa di offendere.
Salve anche a te Ser Alex,
è un dato di fatto, tutti i luminari fanno omaggio del loro sapere, perchè è solo così che si cresce e si migliora, ma è anche vero che dall'altra parte deve esserci qualcuno che possa comprendere...:)
comunque grazie per il vostro tempo Eva:beer:
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
@alex
Piccolo appunto: per l'andata a capo devi scrivere \n, non /n.
hai perfettamente ragione, ma ho le attenuanti, come minimo generiche.
@ertrottola
si avevo capito perfettamente quello che volevi dire. così come è non serve, ma mi sembra di capire quello che volevi fare.
verifichi che l'indirizzo sia presente nel db.
ora tu fai:
$totalRows_Rs_mail = mysql_num_rows($Rs_mail);
quindi dovresti mettere un if else

PHP:
$totalRows_Rs_mail = mysql_num_rows($Rs_mail);
if($totalRows_Rs_mail > 0){
     echo "hai già rischiesto il tagliando";
}else{
    //tutto l'ambaradan di invio
}
 

ertrottola

Utente Attivo
10 Ago 2011
81
0
0
COSI!!!!

PHP:
<?php
$totalRows_Recordset1 = mysql_num_rows($Rs_mail);
if($totalRows_Recordset1 > 0){
     echo "hai già rischiesto il tagliando";
}else{
    //tutto l'ambaradan di invio
}  
require_once("class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = "[email protected]";
$mail->FromName = "Dawid Grace";
$mail->AddAddress("$email");
$mail->IsHTML(true);  
$mail->Subject  =  "provace";
$mail->Body     =  "provace Body";
$mail->AltBody  =  "provace body txt";
//$mail->AddAttachment("public/filename_1.zip"); 
//$mail->AddAttachment("public/filename_2.zip"); 
$mail->From = "$email";
$mail->FromName = "Dawid Grace";
$mail->AddAddress("[email protected]");
$mail->IsHTML(true);  
$mail->Subject  =  "Risposta alla richiesta";
$mail->Body     =  "risposta al clienta";
//$mail->AltBody  =  "provace body txt";
if(!$mail->Send())
{	
echo "Si è verificato un errore nell'invio della mail";
}
else
{	
echo "Mail inviata con successo";}?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
no, cosi avvisi e invii il tagliando comunque.
PHP:
<?php 
$totalRows_Recordset1 = mysql_num_rows($Rs_mail); 
if($totalRows_Recordset1 > 0){ 
     echo "hai già rischiesto il tagliando"; 
}else{ 
    //tutto l'ambaradan di invio 
 
require_once("class.phpmailer.php"); 
$mail = new PHPMailer(); 
$mail->From = "[email protected]"; 
$mail->FromName = "Dawid Grace"; 
$mail->AddAddress("$email"); 
$mail->IsHTML(true);   
$mail->Subject  =  "provace"; 
$mail->Body     =  "provace Body"; 
$mail->AltBody  =  "provace body txt"; 
//$mail->AddAttachment("public/filename_1.zip");  
//$mail->AddAttachment("public/filename_2.zip");  
$mail->From = "$email"; 
$mail->FromName = "Dawid Grace"; 
$mail->AddAddress("[email protected]"); 
$mail->IsHTML(true);   
$mail->Subject  =  "Risposta alla richiesta"; 
$mail->Body     =  "risposta al clienta"; 
//$mail->AltBody  =  "provace body txt"; 
if(!$mail->Send()) 
{     
echo "Si è verificato un errore nell'invio della mail"; 
} 
else 
{     
echo "Mail inviata con successo";}

} // qui la fine dell'if-else ?>
 

ertrottola

Utente Attivo
10 Ago 2011
81
0
0
Si gia me ne èro accorta, allora ho fatto il controllo dell'email dal form e sembra funzionare,
ora ho modificato il codice ma pultroppo dove sono ora non posso verificare perchè siamo sotto dominio.
potresti controlla con questo codice così strutturato si ottiene questa benedetta risposta automatica?

PHP:
<?php

require_once("class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = "[email protected]";
$mail->FromName = "Dawid Grace";
$mail->AddAddress("[email protected]");
$mail->IsHTML(true);  
$mail->Subject  =  "provace";
$mail->Body     =  "provace Body";
$mail->AltBody  =  "provace body txt";
//$mail->AddAttachment("public/filename_1.zip"); 
//$mail->AddAttachment("public/filename_2.zip"); 
$mail->From = @$email;
$mail->FromName = "Dawid Grace";
$mail->AddAddress("[email protected]");
$mail->IsHTML(true);  
$mail->Subject  =  "Risposta alla richiesta";
$mail->Body     =  "risposta al clienta";
//$mail->AltBody  =  "provace body txt";
if(!$mail->Send())
{	
echo "Si è verificato un errore nell'invio della mail";
}
else
{	
echo "Mail inviata con successo";}?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
salvo errori ed omissioni, secondo me non invia quello che vuoi

PHP:
<?php
require_once("class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = "[email protected]";//RIGA 4: in questa riga FROM viene sovrascitta da riga 13
$mail->FromName = "Dawid Grace";//RIGA 5: perchè due volte uguale FromName, vedi riga 14
$mail->AddAddress("[email protected]");//come sopra
$mail->IsHTML(true);  //come sopra
$mail->Subject  =  "provace"; //RIGA 8: subjet viene sovrascitto, riga 17
$mail->Body     =  "provace Body";//RIGA 9: body viene sovrascitto, riga 18
$mail->AltBody  =  "provace body txt";
//$mail->AddAttachment("public/filename_1.zip"); 
//$mail->AddAttachment("public/filename_2.zip"); 
$mail->From = @$email;//RIGA 13: questa riga FROM sovrascive il valore inserito in riga 4 - cosa è quella @???
$mail->FromName = "Dawid Grace";//RIGA 14: perchè due volte uguale FromName, vedi riga 5
$mail->AddAddress("[email protected]");//come sopra
$mail->IsHTML(true);  //come sopra
$mail->Subject  =  "Risposta alla richiesta";//RIGA 17: subjet sovrascrive, riga 8
$mail->Body     =  "risposta al clienta";//RIGA 18: body sovrascrive, riga 9
//$mail->AltBody  =  "provace body txt";
if(!$mail->Send())
{    
echo "Si è verificato un errore nell'invio della mail";
}
else
{    
echo "Mail inviata con successo";}//l'invio puo darsi, ma invia quello che volevi?? ?>
per una risposta automatica devi istanziare nuovamente dopo il primo invio con i valori che ti servono

$mail_automatica = new PHPMailer();
e poi prosegui come per gli altri invii
es.
$mail_automatica->AddAddress("[email protected]");
$mail_automatica->Subject = "questa è una risposta automatica";
ecc.....
 

ertrottola

Utente Attivo
10 Ago 2011
81
0
0
ecco dimmi se ci siamo?


PHP:
require_once("class.phpmailer.php");
$mail = new PHPMailer();
$mail->From = "[email protected]";
$mail->FromName = "Dawid Grace";
$mail->AddAddress("[email protected]");
$mail->IsHTML(true);  
$mail->Subject  =  "provace";
$mail->Body     =  "provace Body";
$mail->AltBody  =  "provace body txt";

if(!$mail->Send())
{	
echo "Si è verificato un errore nell'invio della mail";
}
else
	
$mail_automatica = new PHPMailer();
//e poi prosegui come per gli altri invii es.
$mail_automatica->AddAddress("$mail");
$mail_automatica->Subject = "questa è una risposta automatica";
$mail_automatica->Body   =  "risposta al cliente";
if(@mail($mail_automatica)) { // SE L'INOLTRO È ANDATO A BUON FINE...
}

{
echo "Mail inviata con successo";
}
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
perchè ti ostini a usare le @?
poi: perche mescoli la funzione mail() - dove andrebbe secondo te a prendere i valori di invio mail()?- con phpmailler?
poi ti sei dimenticata un ! e allora devi invertire l'i-else, un else e mi sembra una chiusura }

PHP:
//...
if($mail_automatica->Send()) {//se qui metti ! devi invertire
 // SE L'INOLTRO È ANDATO A BUON FINE...
}//l'else?
else
{
echo "Mail inviata con successo";//in funzione del ! che manca dovrebbe essere "errore di invio"
}
//dove è la chiusura del primo if?
//....
 

ertrottola

Utente Attivo
10 Ago 2011
81
0
0
mai invece di arrabbiarti no....
potresti essere più cavaliere e scrivermi questo pezzetto di codice.
e poi dite che noi siamo strane:rolleyes:

mi da questo errore:elvis::elvis::elvis:

Could not instantiate mail function. Si è verificato un errore nell'invio della mail
Notice: Undefined variable: mail_automatica in C:\Programmi\EasyPHP-5.3.8.0\www\fitnesscenter\PHPMailer\config_mail.php on line 21

Fatal error: Call to a member function AddAddress() on a non-object in C:\Programmi\EasyPHP-5.3.8.0\www\fitnesscenter\PHPMailer\config_mail.php on line 21
 
Discussioni simili
Autore Titolo Forum Risposte Data
M Invio dati database via email php PHP 0
Z PHP.INI - STMP per invio email con PHP Server Dedicati e VPS 0
M Invio di email PHP 0
Cosina Upload multiplo con invio allegati per email PHP 0
S Invio email da form PHP 8
max1974 Invio email PHP 12
F Estrazione Email di persone selezionate e attive / facebook + invio di massa! Annunci servizi di Social Media Marketing 0
ANDREA20 [PHP] Modulo email invio PHP 5
Tommy03 Errore invio email con PHP PHP 1
C [PHP] Problema Invio Email Elseif PHP 2
Tommy03 Invio email con PHP PHP 3
bubino8 [WordPress] Invio email da sito WordPress 2
A [PHP] Invio email quando viene visitata una pagina PHP 7
L Settaggio parametri per invio email Ip Cam Sricam IP Cam e Videosorveglianza 13
B MYSQL-INVIO EMAIL O MESSAGGIO AVVISO MySQL 0
Matteo Lorenzon [PHP][WORDPRESS] Form in Wordpress, creazione PDF con dati del form ed invio tramite email WordPress 1
R PROBLEMA INVIO EMAIL AL CAMBIO DI STATO ORDINE E-Commerce 1
ANDREA20 [MySQL] [PHP] Invio email ordine MySQL 12
ANDREA20 [PHP] Non riesco ad impostare reset password invio via email PHP 6
Y INVIO AUTOMATICO EMAIL CON PHP PHP 4
ANDREA20 [PHP] Invio ordine via email PHP 14
P problemi invio email con phpmailer PHP 47
L invio smtp con phpmailer - problema invia due volte la email allo stesso utente PHP 0
Monital Invio email con dati di una funzione JS PHP 1
A Invio Email alla connessione di un Client su Lan Reti LAN e Wireless 2
B Invio email multiple PHPMAILER PHP 3
asevenx problema invio email tramite form PHP 3
Y Invio email automatico database background Database 1
S creazione test con invio risposta a una email prescelta PHP 4
A invio email con immagine inline senza clips PHP 0
J Scritp invio email convalida indirizzo PHP 13
R invio email php con allegato PHP 1
P Problemi con phpmail ed invio email PHP 0
A invio email dove sbaglio PHP 1
Task Mc Problema form invio email da sito ç__ç PHP 4
Z Invio email PHP 6
J while dentro while per invio email blocchi PHP 0
L Aiuto per ultimazione form invio email PHP 3
T invio email Classic ASP 4
F Problema form invio email php PHP 3
F form invio email php PHP 5
N Invio email a blocchi PHP 9
A problema con l'invio della password tramite email PHP 23
P Eroore su invio email PHP 6
P Invio email e richiamo di una funzione PHP 11
V invio automatico email PHP 11
P Problema invio email da php PHP 9
S Invio Email Tramite Php PHP 2
M invio email con più di un allegato PHP 1
A php msql invio dati per email PHP 2

Discussioni simili