2016-08-04 11 views
-1

Ich habe eine Datenbank "db" mit einer Tabelle "tb", die Bilddetails, die ich in einen Ordner hochlade, sowie den Namen und Pfad der Bild zu Datenbank (Tabelle tb).Einen Bildpfad von meiner Website nehmen und per E - Mail als Link senden

Ich habe ein Skript für E-Mail in PHP wie folgt erstellt:

$recipients="[email protected]"; 

$subject="some subject"; 

$headers= "'From: <[email protected]>'"; 

$message="<a href='http://http://example.com/image/imagename.jpg' target='_blank'>Click here to see image</a>"; 

mail($recipients,$subject,$message,$headers); 
} 

Post arbeiten Funktion gut, aber wenn der Empfänger die E-Mail empfangen, wird der Link in Körper der E-Mail wie folgt angezeigt:

<a href='http://http://mcqpage.com/image/imagename.jpg' target='_blank'>Click here to see image</a> 

Ich möchte, dass die Empfänger erhalten nur den Link "klicken Sie hier, um Bild zu sehen" und nach dem Klicken auf die Zieldatei öffnen.

+0

Sie müssen eine HTML-Mail senden, siehe http://stackoverflow.com/questions/11238953/send-html-in-email-via-php –

Antwort

0

Sie benötigen Mail-Typ in Mail-Header zu setzen, wie von anderen vorgeschlagen:

$headers= "'From: <[email protected]>'\r\n"; 
$headers .= "Content-Type: text/html; charset=UTF-8\r\n"; 
0

Sie müssen den Nachrichtentyp in der headers angeben:

$to = '[email protected]'; 
$from = '[email protected]'; 

$subject = 'Website Change Request'; 

$headers = "From: " . strip_tags($_POST['req-email']) . "\r\n"; 
$headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n"; 
$headers .= "CC: [email protected]\r\n"; 
$headers .= "MIME-Version: 1.0\r\n"; 
// This line is the most important! 
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; 

$message = '<html><body>'; 
$message .= '<h1>Hello, World!</h1>'; 
$message .= '</body></html>'; 

mail($to, $from, $message, $headers); 
1

Wenn eine E-Mail mit PHP zu senden, Sie können festlegen, ob Sie eine Nur-Text-E-Mail oder eine HTML-E-Mail senden möchten. Der Standardwert ist einfacher Text und keiner der E-Mail-Inhalte wird analysiert. Deshalb sehen Sie den Link als normalen Text anstelle eines HTML-Links.

Um eine E-Mail mit HTML-Inhalt zu senden, müssen Sie den Inhaltstyp-Header festlegen. Ihre Header wären also:

$headers= "'From: <[email protected]>'" . "\r\n"; 
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

Beachten Sie, dass Sie den Zeichensatz auch entsprechend ändern können.