invio email (cc e bcc)

skate84

Utente Attivo
16 Mag 2009
83
0
0
Ciao a tutti, ho un problema con l'invio delle email.

L'invio email funziona in questo modo:

1) gli indirizzi sono divisi in gruppi, quindi per poter visualizzare gli indirizzi da poter scegliere, prima di tutto devo scegliere il gruppo (es.: media, simpatizzanti,...)

2) una volta scelto il gruppo scelgo a chi voglio inviare l'email

L'invio funziona se:

Nel campo destinatario inserisco un indirizzo e nel campo bcc ne inserisco uno o più.

Funziona anche se nel campo destinatario non inserisco nulla ma nel campo bcc si

Il problema è quando metto nel campo cc un indirizzo o più indirizzi. Mi dice che l'email è stato inviata ma non ricevo niente agli indirizzi bcc.

ESEMPIO:

Destinatario: indirizzo1
cc: indirizzo2
bcc: indirizzo3, indirizzo4

Il destinatario e cc ricevono mentre i bcc no...praticamente gli indirizzi bcc vengono incorporati all'interno del testo dell'email.


MI SAPETE DARE UNA MANO????? Funziona tutto bene a parte questo particolare se utilizzo il campo cc.

Vi posto i 2 file .php che utilizzo

PHP:
<?php
	//include('connect.php');
	include('fckeditor/fckeditor.php');
	session_start();
?>

<html>
<head>
<title>Invio email</title>
</head>
<script language="javascript">
var sel=new Array(), newsel=new Array(), emptysel=new Array();
function MemMulti(ss){
	newsel.length=0
	for(var i=0;i<ss.options.length;i++)
		if(ss.options[i].selected)
			newsel[newsel.length]=i
	if (sel.length==1 && newsel.length==1 && newsel[0]==sel[0]) {
		ss.options[newsel[0]].selected=false
		sel.length=0;
	} else {
		sel = newsel.concat(emptysel);
	}

}
function SelMulti(ss){
	var ultimo='nessuno'
	for(var i=0;i<ss.options.length;i++)
		if(ss.options[i].selected)
			ultimo=i
			document.getElementById('destinatario').value = document.getElementById('destinatario').value + ss.options[ultimo].value + '\n';
	for(i=0;i<ss.options.length;i++)
		ss.options[i].selected=false
	for(i=0;i<sel.length;i++)
		ss.options[sel[i]].selected=true
	if(ultimo!='nessuno')
		ss.options[ultimo].selected=!ss.options[ultimo].selected
}
</script>

<body>
<table>
	<form method="post" action="?indice=171&lingua=ita">
		<tr>
			<td>Gruppo</td>
			<td>
				<select name='gruppo'>
					<?php
				  		$selGruppo = "SELECT * FROM gruppo";
				  		$result = mysql_query($selGruppo) or die("Errore nella select");
				  		while($arr = mysql_fetch_array($result)) {
				  		 	if($arr[0]==$_POST['gruppo']){
								echo "<option value=\"" . $arr[0] . "\" selected='selected'>" . $arr[1] . "";
							}
							else{
								echo "<option value=\"" . $arr[0] . "\">" . $arr[1] . "";
							}
				  		}
				  		//mysql_close($db);
				  	?>
			  	</select> 	
			</td>
		</tr>
		<tr>
			<td colspan="2">
				<input type="submit" name="submitIndirizzi" value="Indirizzi">
			</td>
		</tr>
	</form>
	
	<form method="post" action="?indice=210" enctype="multipart/form-data">
	<?
		if(isset($_POST['gruppo'])){
		?>

		<tr>
			<td>Indirizzi</td>
			<td>
				<select name="indirizzi" multiple="multiple" onclick="MemMulti(this)" onchange="SelMulti(this)">
					<?php  				
						$gruppo = $_POST['gruppo'];
						foreach ($gruppo as $valore){
						//	echo $valore;
						}
						
				  		$selNewsletter = "SELECT newsletter.id_nl, email_nl FROM newsletter, news_gruppo WHERE newsletter.id_nl = news_gruppo.id_nl AND news_gruppo.id_gruppo=".$gruppo;
				  		$result = mysql_query($selNewsletter) or die("Errore nella select");
				  		while($row = mysql_fetch_array($result)) {
				  		 	  	
				  		 	  	
								echo "<option value=\"".$row["email_nl"]."\">".$row["email_nl"]."";
								
						}			    	
					?>
				</select>
			</td>
		</tr>
			<tr>
				<td colspan="2">
					<input type="submit" name="submitA" value="Invia">
				</td>
			</tr>
		
		<tr>
			<td> Destinatario: </td>
			<td>		
				<textarea id="destinatario" name="destinatario" rows='20' cols='60'></textarea>
			</td>
		</tr>

		<tr>
			<td> cc: </td>
			<td>		
				<textarea id="cc" name="cc" rows='20' cols='40'></textarea>
			</td>
		</tr>

		<tr>
			<td> Bcc: </td>
			<td>		
				<textarea id="bcc" name="bcc" rows='20' cols='60'></textarea>
			</td>
		</tr>
		
		<?php
		}
		?>
		
		<input type="hidden" name="mittente" value="[email protected]">
			<tr>
				<td> Oggetto: </td>
				<td>
					<input type="text" name="oggetto" value="" size="60">
				</td>
			</tr>
			
			<tr>
				<td> Allega file: </td>
				<td>
					<input type="file" name="allegato">
				</td>
			</tr>
			
			<tr>
				<td> Testo: </td>
				<td>
					<name="testo">
					<?php
						$oFCKeditor = new FCKeditor('testo') ;
						$oFCKeditor->BasePath = 'fckeditor/' ;
						$oFCKeditor->Value = $testo;
						$oFCKeditor->Width  = "580px";
	                    $oFCKeditor->Height = "400px";
						$oFCKeditor->Create() ;
					?>
				</td>
			</tr>
			
			<tr>
				<td></td>
				<td><input type="submit" name="submit" value="Spedisci"></td>
			</tr>
			
			
	</form>

</table>

</body>
</html>


PHP:
<?php
//recupero i valori dei campi del form
	$destinatario = $_POST['destinatario'];
	$mittente = $_POST['mittente'];	
	$oggetto = stripslashes($_POST['oggetto']);
	$testo = stripslashes($_POST['testo']);
	$testo = strip_tags($testo);
	$testo = str_replace("&agrave;",'à',$testo);
	$testo = str_replace("&auml;",'ä',$testo);
	$testo = str_replace("&eacute;",'é',$testo);
	$testo = str_replace("&egrave;",'è',$testo);
	$testo = str_replace("&igrave;",'ì',$testo);
	$testo = str_replace("&ouml;",'ö',$testo);
	$testo = str_replace("&ograve;",'ò',$testo);
	$testo = str_replace("&oacute;",'ó',$testo);
	$testo = str_replace("&uuml;",'ü',$testo);
	$testo = str_replace("&ugrave;",'ù',$testo);
	$testo = str_replace("&Agrave;",'À',$testo);
	$testo = str_replace("&Auml;",'Ä',$testo);
	$testo = str_replace("&Aacute;",'Á',$testo);
	$testo = str_replace("&Eacute;",'É',$testo);
	$testo = str_replace("&Egrave;",'È',$testo);
	$testo = str_replace("&Ouml;",'Ö',$testo);
	$testo = str_replace("&Ograve;",'Ò',$testo);
	$testo = str_replace("&Oacute;",'Ó',$testo);
	$testo = str_replace("&Uuml;",'Ü',$testo);
	$testo = str_replace("&Ugrave;",'Ù',$testo);
	$testo = str_replace("&ccedil;",'ç',$testo); 	
	
	
//valorizzo le variabili relative all'allegato
	$allegato = $_FILES['allegato']['tmp_name'];
	$allegato_type = $_FILES['allegato']['type'];
	$allegato_name = $_FILES['allegato']['name'];
	
//creo 2 variabili che riempirò più avanti....
	$headers = "From: " . $mittente;
	$msg = "";
	
//Verifico se il file è stato caricato correttamente via HTTP
	if (is_uploaded_file($allegato)){
	//apro e leggo il file allegato
		$file = fopen($allegato, 'rb'); //rb read binary
		$data = fread($file, filesize($allegato));
		fclose($file);
		
	//Adatto il file al momento MIME base64 usando base64_encode
		$data = chunk_split(base64_encode($data));
		
	//Genero il separatore, che serve per dividere le varie parti del messaggio.
	//Separo la parte testuale dall'allegato
		$semi_rand = md5(time());
		$mime_boundary = "==Multipart_Boundary_x{semi_rand}x";
		
	//Aggiungo le intestazioni necessarie per l'allegato
		$headers .= "\nMIME-Version: 1.0\n";
		$headers .= "Content-Type: multipart/mixed;\n";
		$headers .= " boundary=\"{$mime_boundary}\"";
		//$headers .= "Bcc: $destinatario\r\n"; 
		//$headers .= "Bcc: " + $destinatario;
		
		
		
	//definisco il tipo di messaggio (MIME/multi-part)
		$msg .= "This is a multi-part message in MIME format. \n\n";
		
	//Metto il separatore
		$msg .= "--{$mime_boundary}\n";
		
	//Parte testuale del messaggio
		$msg .= "Content-Type: text/plain; charset=\"iso-8859-1\"\n";
		$msg .= "Content-Transfer-Encoding: 7bit\n\n";
		$msg .= $testo . "\n\n";
		
	//Metto il separatore
		$msg .= "--{$mime_boundary}\n";
		
	//Aggiungo l'allegato al messaggio
		$msg .= "Content-Disposition: attachment;\n";
		$msg .= " filename=\"{$allegato_name}\"\n";
		$msg .= "Content-Transfert_Encoding: base64\n\n";
		$msg .= $data . "\n\n";
		
	//chiudo con il separatore
		$msg .= "--{$mime_boundary}--\n";
	}
	else{
		$msg = $testo;
	}
	
	
	
	//invio la mail
	if (!empty($cc)) {
     	$headers.= "\r\nCc: " . $cc ."\n";
    }

   	if (!empty($bcc)) {
   		$headers.= "\r\nBcc: " . $bcc ."\n";
   	}
	
	if(mail($destinatario, $oggetto, $msg, $headers)){
		echo "<p>Mail inviata con successo!</p>";
	}
	else{
		echo "<p>Errore!</p>";
	}	
?>


GRAZIE PER CHI MI SA DIRE DOVE STA L'INGHIPPO
 
Ultima modifica:
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
E Invio email (era: phpmailer) PHP 52
S Invio Email Tramite Php PHP 2
M invio email con più di un allegato PHP 1

Discussioni simili