webForumDet fria alternativet

HTML i mail()?

12 svar · 567 visningar · startad av streetrobban

streetrobbanMedlem sedan jan. 20011 140 inlägg
#1

Hejsan,

Jag har försökt och sökt på forumet, utan att uppnå rätt resultat. När jag skickar HTML-kod i mailet så skrivs det bara ut som vanlig text.

			// Mottagare
			$to = "jallaballa@msn.se";
			
			// Kolla om det är hotell eller konferens förfrågan
			if ($hotelConference == "1")
			{
				// Ämne
				$subject = "Tjenare";
				
				// Meddelande
				$message = ("
				<html>
				<head>
				</head>
				<body>
				
				<font size=+3>".$subject."</font>
				<br><br><br>
				Från: ".$wholeName."
				<br><br>
				Meddelande: ".$monthArrival."<br>
				<br>
				Bla bla bla
				<br>
				</body>
				</html>");
				
				// Skicka HTML?
				$headers  = "MIME-Version: 1.0\r\n";
				$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
				
				// Avsändare
				$headers = "From: $wholeName <$eMail>";
				$headers .= "No reply";
			}
			else
			{
				echo "";
			}	
			
			// Och, skicka mailet!
			mail($to, $subject, $message, $headers);
			?>
Peter SMedlem sedan dec. 20025 483 inlägg
#2

Du vill kanske ha '.=' nedan

$headers = "From: $wholeName <$eMail>";
streetrobbanMedlem sedan jan. 20011 140 inlägg
#3

Tjenare, jag testade med följande kod. Men fortfarande bara text som kommer fram.

$headers = "From: ".$wholeName." <".$eMail.">";
Peter SMedlem sedan dec. 20025 483 inlägg
#4

Det jag menade var att '=' skulle ersättas med '.='.

:)

streetrobbanMedlem sedan jan. 20011 140 inlägg
#5

Jaha! Jävlar vad snabbt du svarade, och nu funkade det också :) Thanks!

streetrobbanMedlem sedan jan. 20011 140 inlägg
#6

Är det begränsat hur mycket kod man kan skriva? När jag ska göra en tabell funkar EX1, inte EX2.

EX1

<table border=0>
<tr>
<td>
hej
</td>
</tr>
</table>

EX2

<table border=0>
<tr>
<td>
hej
</td>
</tr>
<tr>
<td>
Hej igen
</td>
</tr>
</table>
streetrobbanMedlem sedan jan. 20011 140 inlägg
#7

Det vekrar som att scriptet inte gillar att använda för många /, typ </td></tr>.

streetrobbanMedlem sedan jan. 20011 140 inlägg
#8

Jag bumpar den här tråden lite eftersom det inte funkar korrekt. Nu använder jag en kod som jag hämtat från PHP.net. Men ändå skrivs bara HTML-koden ut som vanlig text i meddelandet.

		// multiple recipients
		$to  = 'jag@email.se';
		
		// subject
		$subject = 'Birthday Reminders for August';
		
		// message
		$message = '
		<html>
		<head>
		  <title>Birthday Reminders for August</title>
		</head>
		<body>
		  <p>Here are the birthdays upcoming in August!</p>
		  <table>
		   <tr>
		     <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
		   </tr>
		   <tr>
		     <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
		   </tr>
		   <tr>
		     <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
		   </tr>
		  </table>
		</body>
		</html>
		';
		
		// To send HTML mail, the Content-type header must be set
		$headers  = 'MIME-Version: 1.0' . "\r\n";
		$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
		
		// Additional headers
		$headers .= 'To: Jag <jag@email.se>,' . "\r\n";
		$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";
		$headers .= 'Cc: birthdayarchive@example.com' . "\r\n";
		$headers .= 'Bcc: birthdaycheck@example.com' . "\r\n";
		
		// Mail it
		mail($to, $subject, $message, $headers);
streetrobbanMedlem sedan jan. 20011 140 inlägg
#9

Jag tänkte bumpa den här tråden lite. :)

henkeMedlem sedan dec. 1999286 inlägg
#10

Det fungerar finfint nu när jag testar scriptet. Det visas som html i Thunderbird 1.5.

henkeMedlem sedan dec. 1999286 inlägg
#11

Det är snyggare om du lägger till följande headers. Dessutom minskar risken att mailet fastnar i spamfilter.

$headers .= 'Date: ' . date('r') . "\r\n";
$headers .= 'Message-ID: <' . md5(rand() * time()) . '@' . $_SERVER['SERVER_NAME'] . '>' . "\r\n";
$headers .= 'X-Mailer: PHP v' . phpversion() . "\r\n";
streetrobbanMedlem sedan jan. 20011 140 inlägg
#12

Alltså, jag fattar inte vad som är fel. Jag ser bara HTML-koden som text i mina mail. Både på Hotmail och Outlook.

henke: Använder du exakt samma kod som jag? Kan du inte pasta din kod?

henkeMedlem sedan dec. 1999286 inlägg
#13

Använde precis den kod som du postade. Bytte bara ut mailadresserna mot min egen.

134 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
132 ms — hämta tråd, inlägg och bilagor (db)