Mail server na SLES 10 - HITNO

Hitno mi treba pomoc!
Prosli mjesec, firma u kojoj radim, je presla kod nove hosting kompanije. sada imamo dedicated SLES 10 php5/mysql5/apache2 based server.
PHP kod sam prebacio na novi server i uglavnom radi (bilo nekih malih promjena).

U sklopu jedne aplikacije, koristim mail() funkciju sa kojom saljem email (potvrda kupcu, narudzbenica proizvodjacu, potvrda da nas ne neko kontaktirao,…) Skripta je radila prije bez problema.
Sada, neki dobiju a neki ne. Skoro 100% sam siguran da je email poslan ali da je “rejected”.
Npr. posaljem sa istog formulara na svoju privatnu adresu i ne dobijem email. a posaljem na yahoo adresu i dobijem.

ov je header od email-a koji sam dobio na yahoo:

[quote]From Vernon Company Fri Jan 12 10:36:51 2007
X-Apparently-To: afanpasalic@yahoo.com via 209.191.91.164; Fri, 12 Jan 2007 10:34:42 -0800
X-Originating-IP: [199.199.209.198]
Return-Path: daemon@vernon.site
Authentication-Results: mta225.mail.re2.yahoo.com from=vernoncompany.biz; domainkeys=neutral (no sig)
Received: from 199.199.209.198 (EHLO vernon.site) (199.199.209.198)
by mta225.mail.re2.yahoo.com with SMTP; Fri, 12 Jan 2007 10:34:42 -0800
Received: by vernon.site (Postfix, from userid 2)
id 84765DAFC5; Fri, 12 Jan 2007 12:36:51 -0600 (CST)
To: afanpasalic@yahoo.com
Subject: Vernon Company Purchase Order (Order#: 123123123)
Content-type: text/html; charset=iso-8859-1
From: Vernon Company webmaster@vernoncompany.biz
Reply-To: afan@afan.net
CC: afan@afan.net
Message-Id: 20070112183651.84765DAFC5@vernon.site
Date: Fri, 12 Jan 2007 12:36:51 -0600 (CST)
Content-Length: 936[/quote]
koliko mogu vidjeti, izgleda kao da je poslano sa vernon.site - sto je pogresno!

Buni me i ovaj detalj:
Received: by slesvernon.site (Postfix, from userid 2)
Po ovome, php je koristio Postfix za slanje email-a. Medjutim, php koristi sendmail - ako drugacije nije receno. a u php.ini nigdje se ne spominje Postfix?!?

Sta treba da radim da ovo popravim? U YAST-u vidim da je Postfix up & running.
da li trebam imati mail server up and running da bih koristio mail() funkciju?

bilo kakava pomoc je JAAAKO dobro dosla!
:wink:

-afan

php koristi ( ako se ne varam ) /usr/sbin/sendmail ( link ) za slanje. pogledaj php dokumentaciju kako da koristis mail() funkciju i koje parametre prima kako bi mail izgledao kao da dolazi sa odredjene email adrese. takodjer postfix ( MTA ) bi trebao znati koji je hostname od servera ( vernon.site mi izgleda malo bedasto… )

Pozdrav

Ice

Sta treba da radim da ovo popravim? U YAST-u vidim da je Postfix up & running.
Kao sto Ice rece, koristi sendmail link. U tvom slucaju on pokazuje na postfix.

Zanimljiv dio je: “Return-Path: daemon@vernon.site”. Ovo Wietse kaze za Return-Path:
http://archives.neohapsis.com/archives/postfix/2001-07/0940.html

Mozda da bi se trebao fokusirati na konfiguraciju postfix-a.

php u tvom slucaju koristi /usr/sbin/sendmail , koji kad posaljes mail preko njega koristi postfix za daljnje slanje mail-a
postfix ti nije dobro iskonfigurisan … moraces se sa njim pozabaviti, pazi na open relay-ing , takodje pazi na definiciju FROM user-a u php mail() funkciji. Npr. yahoo odbija mail od anonymous@nesto.com, root@nesto.com, daemon@nesto.com i sl…

Većina ljudi u neka doba odustane od te mail() funkcije i koristi nešto drugo. Postoji dosta klasa za slanje maila iz PHPa, koristi google.

Kako si skrt na rijecima ! C C C :smiley:

Mail poruka se moze konfigurirati da sadrzi i From: i Return-Path:. Da daemon nebi ubacio svoj dodatak da poruka dolazi od daemon@somesite.com koristi -f switch u mail() funkciji :wink:

Vedrane daj bolan napisi kako se zove ta klasa :smiley:

Pozdrav

Ice

dosta toga je i ovdje napisano :slight_smile:

http://de3.php.net/manual/en/ref.mail.php

Kad mi je to trebalo našao sam jedno 15ak različitih klasa, jednu sam uzeo koja mi se učinila dobra ali se kasnije pokazalo da ne valja (PHPMailer - http://phpmailer.sourceforge.net/). Tu sam ja prestao raditi na tom projektu i nemam pojma šta je na kraju uzeto. Znam da na php.net u komentarima ima 5-6 poludovršenih pokušaja.
Ukratko, drage volje bih onako od srca nešto preporučio ali nemam šta :frowning:

Prvi savjet/komentar na http://de3.php.net/manual/en/ref.mail.php (datiran 2007-01-09) je sasvim adekvatan da mail() funkcija proradi korektno :smiley:

Zaboravite na ručno postavljanje Return-path headera. Evo šta kaže rfc2821:

Citiram :wink: sendmail_from string – Which “From:” mail address should be used in mail sent from PHP under Windows. This directive also sets the “Return-Path:” header.

Znaci ne treba se patiti jer je vec napravljeno prema rfc2821, ako sam dobro razumio :wink:

Try the following:

ini_set(sendmail_from,$fromaddress); // the INI lines are to force the From Address to be used !
mail($emailaddress, $emailsubject, $msg, $headers);

A SIMPLE THING ! Ovo bi trebalo stati na kraj takvim problemima :wink:

Pozdrav

Ice

Mislim da je pogrešan izbor riječi, pošiljalac ne može ekplicitno postaviti Return-path header. Mail server na strani koja prima poruku zanemaruje postojeći, te sam odlučuje šta ide u Return-path header. Koristeći ‘sendmail -f’ pomažete mu u tom izboru :smiley: