sendmail - php mail() function

Discussion in 'Server Operation' started by czeslawoo, Feb 16, 2011.

  1. czeslawoo

    czeslawoo New Member

    Hi everybody,

    I have a problem with sendmail not sending emails while I am using php mail() function.

    My setup is a local LAMP server on Ubuntu, I am using it(or better-setting it up at the moment) as my test web server.

    What I have noticed is when I login to the server via STH and run:

    czeslawoo@sthserver:~$ sendmail realemail@google.com < testmessage

    my email is dispatched and i can recaive it in googlemail.

    syslog looks like this:


    Feb 16 00:50:22 sthserver sendmail[22458]: My unqualified host name (sthserver) unknown; sleeping for retry
    Feb 16 00:51:22 sthserver sendmail[22458]: unable to qualify my own domain name (sthserver) -- using short name
    Feb 16 00:51:22 sthserver sendmail[22458]: p1G0pMYt022458: from=czeslawoo, size=23, class=0, nrcpts=1, msgid=<201102160051.p1G0pMYt022458@sthserver>, relay=czeslawoo@localhost
    Feb 16 00:51:22 sthserver sm-mta[22461]: p1G0pM4J022461: from=<czeslawoo@sthserver>, size=314, class=0, nrcpts=1, msgid=<201102160051.p1G0pMYt022458@sthserver>, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
    Feb 16 00:51:22 sthserver sendmail[22458]: p1G0pMYt022458: to=realemail@googlemail.com, ctladdr=czeslawoo (1000/1000), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30023, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p1G0pM4J022461 Message accepted for delivery)
    Feb 16 00:51:23 sthserver sm-mta[22463]: STARTTLS=client, relay=gmail-smtp-in.l.google.com., version=TLSv1/SSLv3, verify=FAIL, cipher=RC4-SHA, bits=128/128
    Feb 16 00:51:23 sthserver sm-mta[22463]: p1G0pM4J022461: to=<realemail@googlemail.com>, ctladdr=<czeslawoo@sthserver> (1000/1000), delay=00:00:01, xdelay=00:00:01, mailer=esmtp, pri=120314, relay=gmail-smtp-in.l.google.com. [209.85.229.27], dsn=2.0.0, stat=Sent (OK 1297817379 j2si5312976wbz.33)

    but when I am running my php scrip I have something like this:

    Feb 16 00:59:59 sthserver sendmail[22475]: unable to qualify my own domain name (sthserver) -- using short name
    Feb 16 00:59:59 sthserver sendmail[22475]: p1G0xxxI022475: from=www-data, size=134, class=0, nrcpts=0, msgid=<201102160059.p1G0xxxI022475@sthserver>, relay=www-data@localhost
    Feb 16 01:00:01 sthserver sm-msp-queue[22496]: My unqualified host name (sthserver) unknown; sleeping for retry


    What Ive noticed is :
    nrcpts = 0 - it cant be good:/
    user used in a second case is www-data, and that = apache as far as i know.

    Is this just a user related problem?? www-data user does not have rights to use sendmail?? How to make this work??

    I dont realy understand sendmail and sorry if this is a trivial problem but I spent so much time on setting this server to work lately ... that i need to now how to fix this problem first and then I look at it and learn how ...

    sendmail version is 8.14.3

    let me know if you will need any more info

    tyvm for help

    ps:
    php script receive data from simple html feedback form and looks like this:
    --------------------------------------------------------------
    error_reporting(E_ALL);
    ini_set('display_errors', '1');

    $email_from = $_POST["email"] ;
    $message_from = $_POST["message"] ;
    $sendto = "realemail@googlemail.com";
    $title = "Feedback Form";

    $val = mail( $sendto, $title, $message_from, "FROM: $email_from");

    if($val) echo "Email sent";
    else echo "Email error" ;

    -------------------------------------------------------------------
     
  2. falko

    falko Super Moderator Howtoforge Staff Moderator HowtoForge Supporter ISPConfig Developer

    What are the outputs of
    Code:
    hostname
    and
    Code:
    hostname -f
    ? My guess is that your server doesn't have a fully-qualified domain name.
     
  3. czeslawoo

    czeslawoo New Member

    Hi,

    no it doesn't have a fully-qualified domain name, its still in a "test mode".
    I will have it connected some-time next week and i will test it again with FQDN.

    I just assume that if i can send email using CLI command, i should be able to do a same thing using a php script. Regardless of having FQDN in both cases???
     
  4. falko

    falko Super Moderator Howtoforge Staff Moderator HowtoForge Supporter ISPConfig Developer

  5. vaio

    vaio New Member

    INSTRUCTIONS
    # Check we have Fully Qualified Domain Name

    /bin/hostname

    # it should return something like "ispconfig.example.com"
    # if not, then we assign a hostname (for example ispconfig):

    echo ispconfig.example.com > /etc/hostname
    /etc/init.d/hostname.sh

    vi /etc/hosts

    # and add lines similar but appropriate:

    127.0.0.1 localhost.localdomain localhost
    192.168.0.100 ispconfig.example.com ispconfig
     
    Last edited: Apr 11, 2011
  6. vaio

    vaio New Member

    Falko, what about if you get this error with returned mail:

    ?

    if i check hostname it shows ok...
    Thank you in advance!
     
  7. falko

    falko Super Moderator Howtoforge Staff Moderator HowtoForge Supporter ISPConfig Developer

    Can you check if you use an FQDN in the myorigin directive in /etc/postfix/main.cf?
     

Share This Page