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 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 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 ISPConfig Developer

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

Share This Page