Over 1M Posts • 84K Topics • 9K Authors

php sms message sending script, help please - 6G Celicas Forums

Topic #50695 6 posts Started by maxaud
I'm piecing together a script to send text messages from one of my sites to my cell phone. I got it all work'd out all fine and It sends the message fine but the 'from address' is defined as anonymous@myserver.com when I'd like to have it as either...

1) I'd prefer to have it as the email address that the person fills out on the form that texts me

OR

2)nobody@mydomain.com

the current script is..

>
CODE
><?php

$to="##########@vtext.com, myemail@mydomain.com";

$sucessURL="http://www.mydomain.com/success";

$failureURL="http://www.mydomain.com/error";

$subject="sitetxt";

$msg = "Name: {$_POST['txtName']}\nPhone: {$_POST['txtNumber']}\nEmail: {$_POST['txtEmail']}\nMessage: ".nl2br($_POST['txtMessage'])."
";

$headers  = "From: {$_POST['txtEmail']}";

if(mail($to, $subject, $msg, $headers))
{
    header("Location: $sucessURL");
}
else
{
    header("Location: $failureURL");
}
?>>
>

▲my $.02 --Dustin₪₪₪₪₪₪₪₪₪₪₪₪₪
That should work. Make sure your form has a txtEmail input field. Strictly speaking, all the header lines should end in a carrage return, newline pair:

$headers = "From: {$_POST['txtEmail']}" . '\r\n';

Maybe your mail server is configured to not allow mail spoofing? Try setting the return-to address instead or as well:

$headers = "Reply-To: {$_POST['txtEmail']}" . '\r\n';

HTH,

DaveyItems for sale
thanks for the input, I will try that and see if anything changes

▲my $.02 --Dustin₪₪₪₪₪₪₪₪₪₪₪₪₪
that didn't seem to help, I'm still getting the message from anonymous@myserver.com

my form code

>
CODE
><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD><TITLE>TextMe</TITLE>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2900.2180" name=GENERATOR>

<STYLE>BODY {
    COLOR: #373737; FONT-FAMILY: Verdana, sans-serif
}
TD {
    FONT-SIZE: 11px
}
#warning {
    DISPLAY: none
}
</STYLE>

<script type=text/javascript>
var totalchars = 100;

function countChars()
{
// getting the remaining characters (will also count line beaks!)
charNum = totalchars - (document.textmeform.txtName.value.length + document.textmeform.txtNumber.value.length + document.textmeform.txtMessage.value.length)

//dumping the number in your input box
document.textmeform.characters.value = charNum

if ( charNum <= 0 )
    {
    document.textmeform.characters.style.background = "#FF9966";
     document.getElementById("warning").style.display = "block";
    }
   else
    {
    document.textmeform.characters.style.background = "#FFFFFF";
    document.getElementById("warning").style.display = "none";
    }
}
</SCRIPT>
</HEAD>
<BODY onkeydown=countChars() onkeyup=countChars()>
<FORM name=textmeform action=TextMe.php method=post>
<BR><STRONG>Please use the form below to
send a short text message to my cell phone.<BR><BR></STRONG>&nbsp;
<TABLE width="100%" align=center border=0>
  <TBODY>
  <TR>
    <TD>&nbsp;
      <TABLE>
        <TBODY>
        <TR>
          <TD>
            <P align=right>Your Name:</P></TD>
          <TD>
            <P align=left><INPUT onkeydown=countChars() onkeyup=countChars()
            onchange=countChars() name=txtName></P></TD></TR>
        <TR>
          <TD>
            <P align=right>Your Phone Number&nbsp;</P></TD>
          <TD><INPUT onkeydown=countChars() onkeyup=countChars()
            onchange=countChars() name=txtNumber></TD></TR>
        <TR>
          <TD align=right>Your Email Address&nbsp;</TD>
          <TD><INPUT name=txtEmail></TD></TR>
        <TR>
          <TD align=right>Your Message&nbsp;</TD>
          <TD><TEXTAREA onkeydown=countChars() onkeyup=countChars() name=txtMessage onchange=countChars()></TEXTAREA></TD></TR>
        <TR>
          <TD align=right>&nbsp;</TD>
          <TD><INPUT type=submit value="Send Message" name=Button1></TD></TR>
        <TR>
          <TD align=right>Characters Remaining:</TD>
          <TD><INPUT id=characters size=3 value=100
        name=characters></TD></TR></TBODY></TABLE><BR>
      <DIV id=warning>You have more than 100 characters! <BR>Your message may be
      truncated. </DIV></TD>
    <TD>&nbsp;</TD>
    <TD>&nbsp;<IMG src=""></TD></TR></TBODY></TABLE>
</FORM></FONT></BODY></HTML>
>
>

▲my $.02 --Dustin₪₪₪₪₪₪₪₪₪₪₪₪₪
small update. I got it to work correctly when sent to a regular email address (not a cell phones address), but it still shows up as anonymous@myserver.com in the sms message

▲my $.02 --Dustin₪₪₪₪₪₪₪₪₪₪₪₪₪
Thought I would update this as I decided to work on this a little bit today and finally got it (not the time of the original post)

What I did...

In a custom php.ini file located in the same folder as the script (it wouldn't work if placed anywhere else but here), not sure if the sendmail_from does anything as it didn't seem to change until I added the /usr/lib/sendmail (which is different depending on your server)
>
CODE
>sendmail_from = email@domain.com
sendmail_path = "/usr/lib/sendmail -t -i -f email@domain.com">
>

This seemed to work but if you have the same script numerous times and want to have the "from" email to be unique and display as the person who filled out the form you would have to do this...

This is what I was wanting from the very 1st post. Edit'd the original mail() function to say...
>
CODE
>if(mail($to, $subject, $msg, $headers, "-f{$_POST['txtEmail']}"))>
>

That did it for me, now on to another question, look for another post made by me...

▲my $.02 --Dustin₪₪₪₪₪₪₪₪₪₪₪₪₪