PHP email form - Sometimes doesn't send any email?

Hey there,

We’re using a PHP form script internally at work, but sometimes the email just won´t be sent.
It seems like it depends on what we write in the fields, but I just can’t figure out what’s wrong.

The emails doesnt get stuck in any spam filter so there must be something wrong with the code.

Can anyone help me with whats wrong?

Thanks in advance!

digitaladmin.php
[php]

Datum/tid <? date_default_timezone_set('Europe/Stockholm'); ?> kl.<?php echo date("H:i") . ""?>">
Handläggare *
Mailadress *
Kundens uppgifter
Namn *
Telefonnummer *
Mailadress
Objekt ID / Serienummer *
Typ av ärende * Felanmälan
Fakturafrågor
Tonerbeställning
Övrigt
Eventuell kommentar



[/php]

digitaladmin_skicka.php
[php]<?php
if(isset($_POST[‘email’])) {

// EDIT THE 2 LINES BELOW AS REQUIRED
$email_to = "[email protected]";
$mailkopia = "[email protected]";
$email_from = "[email protected]";
$email_subject = "SUBJECT";

 
function died($error) {
    // your error code can go here
    echo "We are very sorry, but there were error(s) found with the form you submitted. ";
    echo "These errors appear below.<br /><br />";
    echo $error."<br /><br />";
    echo "Please go back and fix these errors.<br /><br />";
    die();
}
 

 
$first_name = $_POST['first_name']; // required
$datum = $_POST['datum'];
$kundnamn = $_POST['kundnamn'];
$email = $_POST['email'];
$agentmail = $_POST['agentmail'];
$telephone = $_POST['telephone'];
$objnr = $_POST['objnr'];
$typ = $_POST['typ'];
$comments = $_POST['comments'];

$error_message = "";

if(strlen($error_message) > 0) {
died($error_message);
}
$email_message = “”;

function clean_string($string) {
  $bad = array("content-type","bcc:","to:","cc:","href");
  return str_replace($bad,"",$string);
}


$email_message .= "<font face='Calibri'>Hej,<br><br>Ni har f&aring;tt ett &auml;rende fr&aring;n Kundtj&auml;nst.<br>Se nedan.<br><br>";
$email_message .= "<table cellpadding='0' cellspacing='0'>";
$email_message .= "<tr><td width='200'><font face='Calibri'>Handl&auml;ggare:</td><td><font face='Calibri'>".clean_string($first_name)."</td></tr>";
$email_message .= "<tr><td><font face='Calibri'>Datum/tid:</td><td><font face='Calibri'>".clean_string($datum)."</td></tr>";

$email_message .= “

”;
$email_message .= “ Kundens uppgifter ”;
$email_message .= “ Namn ”.clean_string($kundnamn)." ";
$email_message .= “ Telefonnummer ”.clean_string($telephone)." ";
$email_message .= “ Mailadress ”.clean_string($email)." ";
$email_message .= “ ObjektID/Serienummer ”.clean_string($objnr)." ";
$email_message .= “ Typ av ärende ”.clean_string($typ)." ";
$email_message .= “
Eventuell kommentar:
”.clean_string($comments)."";

// create email headers
ini_set(“sendmail_from”, $agentmail);

$headers = 'From: '.$agentmail."\r\n".
‘MIME-Version: 1.0’ . “\r\n” .
'Reply-To: '.$agentmail."\r\n" .
'CC: '.$agentmail."\r\n" .
'BCC: '.$mailkopia."\r\n" .
‘Content-type: text/html; charset=UTF-8’ . “\r\n”;

‘X-Mailer: PHP/’ . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);
?>
Thanks!
[/php]

From your code it seems you know a lot of this stuff unlike me :’(

Your PHP code looks fine to me, nothing wrong with it, but I’ve found an article on the internet where Larry Ullman has said that.

"On some - primarily Unix-systems, the \r\n characters aren't handled properly. If you have problems with them, use just \n instead." Larry Ullman

hope this will be beneficial for you. Here is the link for the article

I don’t see anything wrong that would prevent your emails from being sent, maybe you have some type of throttling rate set on you mail server?

It seems like it depends on what we write in the fields?

Can you elaborate on that?

Thanks for your replies guys!

When I did some test like a week ago, I wrote in some random stuff in the form.
One of the fields I had two words with a spacer between. With this the form didn’t work.

I removed the space and then it sent an email.

On another test I had the space again and it workeed, so it’s really strange.

My hosting company did some checks and didn´t see anything wrong with the mail server.

Are you sure the problem is the email is not being sent? Or is it not received?
[php]@mail($email_to, $email_subject, $email_message, $headers); [/php]

You’re not allowing any error reporting… maybe try:
echo (mail($email_to, $email_subject, $email_message, $headers) ? “Successfully sent” : “Failed to send”);

I tried this but it still occurs sometimes :frowning:

Now when I made one test I wrote “Testkommentar” in one field and it didnt get sent. I wrote some random text “ville inte betala 150kr” instead and then it worked.

Makes sense? :frowning:

I also tried to reduce the amount of code in anskaffning_skicka.php.
Same happends :frowning:

[php]<?php

$email_to = "xx";
$mailkopia = "xx";
$email_subject = "xxx";
 
 

$agentmail = $_POST['agentmail'];
$first_name = $_POST['first_name']; 
$datum = $_POST['datum'];
$avgift = $_POST['avgift'];
$kommentar = $_POST['kommentar'];




$typ = $_POST['typ'];
$saljkanal = $_POST['saljkanal'];
$kundnr = $_POST['kundnr'];
$foretagsnamn = $_POST['foretagsnamn'];
$avvikandelevadr = $_POST['avvikandelevadr'];
$faktref = $_POST['faktref'];
$bestallare = $_POST['bestallare'];
$fax = $_POST['fax'];
$ovrigauppgifter = $_POST['ovrigauppgifter'];
$kundnamn = $_POST['kundnamn'];
$email = $_POST['email'];
$telephone = $_POST['telephone'];
$orderbekr = $_POST['orderbekr'];

$ett_artben = $_POST['ett_artben'];
$ett_artnr = $_POST['ett_artnr'];
$ett_antal = $_POST['ett_antal'];
$ett_pris = $_POST['ett_pris'];
$ett_inpris = $_POST['ett_inpris'];
$ett_enhet = $_POST['ett_enhet'];
$ett_lev = $_POST['ett_lev'];

$tva_artben = $_POST['tva_artben'];
$tva_artnr = $_POST['tva_artnr'];
$tva_antal = $_POST['tva_antal'];
$tva_pris = $_POST['tva_pris'];
$tva_inpris = $_POST['tva_inpris'];
$tva_enhet = $_POST['tva_enhet'];	
$tva_lev = $_POST['tva_lev'];

$tre_artben = $_POST['tre_artben'];
$tre_artnr = $_POST['tre_artnr'];
$tre_antal = $_POST['tre_antal'];
$tre_pris = $_POST['tre_pris'];
$tre_inpris = $_POST['tre_inpris'];
$tre_enhet = $_POST['tre_enhet'];	
$tre_lev = $_POST['tre_lev'];

$fyra_artben = $_POST['fyra_artben'];
$fyra_artnr = $_POST['fyra_artnr'];
$fyra_antal = $_POST['fyra_antal'];
$fyra_pris = $_POST['fyra_pris'];
$fyra_inpris = $_POST['fyra_inpris'];
$fyra_enhet = $_POST['fyra_enhet']; 
$fyra_lev = $_POST['fyra_lev']; 

$fem_artben = $_POST['fem_artben'];
$fem_artnr = $_POST['fem_artnr'];
$fem_antal = $_POST['fem_antal'];
$fem_pris = $_POST['fem_pris'];
$fem_inpris = $_POST['fem_inpris'];
$fem_enhet = $_POST['fem_enhet'];
$fem_lev = $_POST['fem_lev'];

$sex_artben = $_POST['sex_artben'];
$sex_artnr = $_POST['sex_artnr'];
$sex_antal = $_POST['sex_antal'];
$sex_pris = $_POST['sex_pris'];
$sex_inpris = $_POST['sex_inpris'];
$sex_enhet = $_POST['sex_enhet'];
$sex_lev = $_POST['sex_lev'];





$email_message .= "<table cellpadding='0' cellspacing='0'>";
$email_message .= "<tr><td width='200'><font face='Calibri'>Handläggare:</td><td><font face='Calibri'>".$first_name."</td></tr>";
$email_message .= "<tr><td><font face='Calibri'>Datum/tid:</td><td><font face='Calibri'>".$datum."</td></tr>";
$email_message .= "<tr><td><font face='Calibri'>Fraktavgift:</td><td><font face='Calibri'>".$avgift."&nbsp;".$kommentar."</td></tr>";

$email_message .= “

”;
$email_message .= “ Typ ”.$typ." ";
$email_message .= “ Säljkanal: ”.$saljkanal." ";
$email_message .= “ ”;
$email_message .= “ Orderuppgifter ”;
$email_message .= “ Kundnummer: ”.$kundnr." ";
$email_message .= “ Företagsnamn. ”.$foretagsnamn." ";
$email_message .= “ Avvikande leveransadress: ”.$avvikandelevadr." ";
$email_message .= “ Fakturareferens: ”.$faktref." ";
$email_message .= “ Godsmärkning/Beställare: ”.$bestallare." ";
$email_message .= “ Tidigare order / Övriga uppgifter:    “.$ovrigauppgifter.” ”;
$email_message .= “ ”;
$email_message .= “ Kontaktperson ”;
$email_message .= “ Namn: ”.$kundnamn." ";
$email_message .= “ Mailadress: ”.$email." ";
$email_message .= “ Telefonnummer: ”.$telephone." ";
$email_message .= “ Fax: ”.$fax." ";
$email_message .= “ Önskar orderbekräftelse via mail:    “.$orderbekr.” ”;
$email_message .= "</table><br><br><table cellpadding='10' cellspacing='0'>";

$email_message .= "<tr><td bgcolor='red' width='10' style='border-left: 1px solid #000;border-top: 1px solid #000;border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#ffffff' face='Calibri'><b>#</td>";
$email_message .= "<td bgcolor='red' width='200' style='border-top: 1px solid #000;border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#ffffff' face='Calibri'><b>Artikelbenämning</td>";
$email_message .= "<td bgcolor='red' width='100' style='border-top: 1px solid #000;border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#ffffff' face='Calibri'><b>Artikelnr</td>";
$email_message .= "<td bgcolor='red' width='100' style='border-top: 1px solid #000;border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#ffffff' face='Calibri'><b>Antal</td>";
$email_message .= "<td bgcolor='red' width='50' style='border-top: 1px solid #000;border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#ffffff' face='Calibri'><b>Pris</td>";
$email_message .= "<td bgcolor='red' width='50' style='border-top: 1px solid #000;border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#ffffff' face='Calibri'><b>Inpris</td>";
$email_message .= "<td bgcolor='red' width='50' style='border-right: 1px solid #000;border-top: 1px solid #000;border-bottom: 1px solid #000;'><font color='#ffffff' face='Calibri'><b>Enhet</td>";
$email_message .= "<td bgcolor='red' width='50' style='border-right: 1px solid #000;border-top: 1px solid #000;border-bottom: 1px solid #000;'><font color='#ffffff' face='Calibri'><b>Leverantör</td></tr>";

$email_message .= "<tr><td bgcolor='white' style='border-right: 1px solid #000;border-left: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'><b>#1</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$ett_artben."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$ett_artnr."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$ett_antal."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$ett_pris."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$ett_inpris."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$ett_enhet."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$ett_lev."</td></tr>";

$email_message .= "<tr><td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-left: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'><b>#2</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tva_artben."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tva_artnr."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tva_antal."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tva_pris."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tva_inpris."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tva_enhet."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tva_lev."</td></tr>";

$email_message .= "<tr><td bgcolor='white' style='border-right: 1px solid #000;border-left: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'><b>#3</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tre_artben."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tre_artnr."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tre_antal."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tre_pris."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>". $tre_inpris ."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tre_enhet."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$tre_lev."</td></tr>";

$email_message .= "<tr><td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-left: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'><b>#4</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fyra_artben."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fyra_artnr."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fyra_antal."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fyra_pris."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fyra_inpris."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fyra_enhet."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fyra_lev."</td></tr>";

$email_message .= "<tr><td bgcolor='white' style='border-right: 1px solid #000;border-left: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'><b>#5</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fem_artben."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fem_artnr."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fem_antal."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fem_pris."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fem_inpris."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fem_enhet."</td>";
$email_message .= "<td bgcolor='white' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$fem_lev."</td></tr>";

$email_message .= "<tr><td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-left: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'><b>#6</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$sex_artben."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$sex_artnr."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$sex_antal."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$sex_pris."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$sex_inpris."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$sex_enhet."</td>";
$email_message .= "<td bgcolor='#d8d8d8' style='border-right: 1px solid #000;border-bottom: 1px solid #000;'><font color='#000000' face='Calibri'>".$sex_lev."</td></tr>";

 $email_message .= "</table>";

ini_set(“sendmail_from”, $agentmail);
$headers = 'From: '.$agentmail."\r\n".
‘MIME-Version: 1.0’ . “\r\n” .
'Reply-To: '.$agentmail."\r\n" .
'CC: '.$agentmail."\r\n" .
'BCC: '.$mailkopia."\r\n" .
‘Content-type: text/html; charset=UTF-8’ . “\r\n”;

‘X-Mailer: PHP/’ . phpversion();
@mail($email_to, $email_subject, $email_message, $headers);

?>

<?php require('client.inc.php'); require(CLIENTINC_DIR.'header.inc.php'); ?>
Anskaffning

Din anskaffningsförfrågan är nu skickad till Anskaffningsavdelningen via mail.




















<?require(CLIENTINC_DIR.'footer.inc.php'); ?>

[/php]

According to http://php.net/manual/en/function.mail.php

Message to be sent. Each line should be separated with a CRLF (\r\n). Lines should not be larger than 70 characters.

You are going way beyond that in you message body without a line feed.

Sponsor our Newsletter | Privacy Policy | Terms of Service