webForumDet fria alternativet

Problem med mailformulär

32 svar · 796 visningar · startad av addeweb · sida 2 av 2

addewebMedlem sedan jan. 2004216 inlägg
#21

Jag har kollat på sajten http://pear.php.net men kunde inte hitta en sådan Net-mapp där än. Var hittar man en sådan? Kanske de filer som jag har hämtat därifrån inte är kompletta. Var hittar jag de rätta filerna?

addewebMedlem sedan jan. 2004216 inlägg
#22

Har nu hittat sidan http://pear.php.net/package/Net_SMTP
Får se om det hjälper...

PeddaMedlem sedan juni 20006 032 inlägg
#23

Ah, nu fattar jag.

Mappen och filen det syftar på är C:/php4/Pear/Net/SMTP.php (din lokala sökväg)

Har själv aldrig använt något liknande skript så jag kan nog inte hjälpa dig så mycket.
Men testa att ändra sökvägen i smtp.php

addewebMedlem sedan jan. 2004216 inlägg
#24

Jag har inte kunnat se en sådan mapp där hemsidan finns. Har inte heller tillgång till andra mappar än den mapp som innehåller hemsidan. Kanske bäst att samla de filer som behövs i samma mapp som de sidor som jag håller på med.

addewebMedlem sedan jan. 2004216 inlägg
#25

Formuläret fungerar nu. Har också sett till att det finns en socket-fil tillsammans med de andra filerna.

addewebMedlem sedan jan. 2004216 inlägg
#26

Nu när formuläret funkar bra återstår nästa och sista problem
med det, nämligen att man ska ha möjlighet att markera en
checkbox för en kopia av mailet till egen adress när man skickar
mail till en mottagare. Det som inte funkar är att man inte får en
kopia av mailet som man har skickat. Kopian hamnar inte i den
egna brevlådan. Är det något som jag har missat och borde ta med?

Så här ser koden ut nedan nu:

<?php

require("Mail.php");

if((empty($_POST['subject'])) || (empty($_POST['message']))){

	echo "<table width=\"100%\" border=\"0\" height=\"200\">";
	echo "<tr><td align=\"center\" valign=\"top\"><br /><br /><br /><b>Både rubrik och meddelande ska fyllas i!</b>";
	echo "<p><a href=\"javascript:history.back()\"><u>Tillbaka</u></a></p>";
	echo "</td></tr></table>";
	exit;

}else{

// Variabler som tar emot värden från kontaktformuläret. 
// Mottagarens uppgifter - administratören
$fnamn = trim($_POST['fnamn']); 
$enamn = trim($_POST['enamn']); 
$anvnamn = trim($_POST['anvnamn']); 
$toMail = trim($_POST['toMail']); 

//echo "$fnamn $enamn $toMail "; 

// Sändarens uppgifter
$fnamn2 = trim($_POST['fnamn2']);  
$enamn2 = trim($_POST['enamn2']); 
$fromMail = trim($_POST['fromMail']); 

//echo "$fnamn2 $enamn2 $fromMail";

$subject = trim($_POST['subject']);
$body = trim($_POST['message']);
// $fil = $_POST['fil'];

$copy = $_POST['copy'];
//echo $copy;

// Kolla om användaren har markerat kopia till egen adress
if($_POST['copy'] == "Ja"){

 	$bcc_fromMail = $fromMail;
}
//echo $bcc_fromMail;

$recipients = $toMail;

$headers = array(
	  "To" => "$fnamn $enamn <$toMail>",
         "From" => "$fnamn2 $enamn2 <$fromMail>",
	 "Reply-To" => "$fnamn2 $enamn2 <$fromMail>",
         "Subject" => "$subject",
	 "Bcc" => "$bcc_fromMail"
      );

 $mail_params = array(
         "host"      => "din.smtp-server.nu",
         "port"      => 25,
	 "auth"      => true,
         "username"  => "username",
         "password"  => "losen"
      );

$mail =& Mail::factory("smtp", $mail_params);
$mail->send($recipients, $headers, $body); 

echo "<table width=\"100%\" border=\"0\" height=\"200\">";
	echo "<tr><td align=\"center\" valign=\"top\"><br /><br /><br /><b>Ditt meddelande har nu skickats iväg.</b>";
	echo "<p><a href=\"javascript:history.back()\"><u>Tillbaka</u></a></p>";
	echo "</td></tr></table>";

}?>
addewebMedlem sedan jan. 2004216 inlägg
#27

Jag har försökt med Bcc men tyvärr kom inte kopian fram till sändarens adress. Vad måste jag göra?

lunne82Medlem sedan dec. 2003153 inlägg
#28

Sätts alla headers korrekt? Om du läser alla headers i mailet då det kommer fram så ser du om allt är som det ska. Sätts "\r\n" efter varje header? Om det är som det ska, skickas mailet genom en smpt som inte blir blockad för mottagaren?

addewebMedlem sedan jan. 2004216 inlägg
#29

Behöver man verkligen sätta in "\r\n" efter varje rad i arrayen? Nästan alla headers finns med i mailet när det kommer fram men inte bcc ännu.

HansenMedlem sedan aug. 2000374 inlägg
#30

addeweb skrev:

Behöver man verkligen sätta in "\r\n" efter varje rad i arrayen?

RFC2821 4.1.1 Command Semantics and Syntax skrev:

   The SMTP commands define the mail transfer or the mail system
   function requested by the user.  SMTP commands are character strings
   terminated by <CRLF>.  The commands themselves are alphabetic
   characters terminated by <SP> if parameters follow and <CRLF>
   otherwise.  (In the interest of improved interoperability, SMTP
   receivers are encouraged to tolerate trailing white space before the
   terminating <CRLF>.) [...]

RFC2821 4.1.1 Command Semantics and Syntax

addeweb skrev:

Nästan alla headers finns med i mailet när det kommer fram men inte bcc ännu.

RFC2821 APPENDICES B. Generating SMTP Commands from RFC 822 Headers skrev:

[...]
   1. Each recipient address from a TO, CC, or BCC header field SHOULD
      be copied to a RCPT command (generating multiple message copies if
      that is required for queuing or delivery).  This includes any
      addresses listed in a RFC 822 "group".  [b]Any BCC fields SHOULD then
      be removed from the headers.[/b]  Once this process is completed, the
      remaining headers SHOULD be checked to verify that at least one
      To:, Cc:, or Bcc: header remains.  If none do, then a bcc: header
      with no additional information SHOULD be inserted as specified in
      [32].
[...]

RFC2821 APPENDICES B. Generating SMTP Commands from RFC 822 Headers

Tur är väl det!?

BCC = Blind Carbon Copy
CC = Carbon Copy

addewebMedlem sedan jan. 2004216 inlägg
#31

Hansen?
Jag har använt två egna olika adresser, den ena som sändaradress och den andra som mottagaradress. Problemet är att sändaradressen används som bcc-adress så att kopia kan skickas till sändarens adress.

addewebMedlem sedan jan. 2004216 inlägg
#32

Suck! Jag har kollat upp Bcc och Cc närmare och insett att det är etter krångligare än jag trodde. Finns det inte någon enklare lösning så att det fungerar ihop med den koden som jag har?

addewebMedlem sedan jan. 2004216 inlägg
#33

Sista problemet är nu löst. Har tagit bort bcc från formuläret.

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