Sendmail- ja php-ongelma

Moi, osaisikohan joku viisaampi auttaa sendmail ongelman kanssa. En saa millään php-skriptiä lähettämään sähköpostia mihinkään osoitteeseen.

Minulla on yksinkertainen html-lomake, joka kysyy aiheen, vastaanottajan ja viestin:

<h1>Mail tester</h1>
<form action="mailtest.php" method="post">
	<label>subject: </label><input id="subject" name="subject" type="text" /> 
	<label>mail to: </label><input id="address" name="address" type="text" /> 
	<label>message: </label><textarea id="message" name="message" ></textarea> 
	<button type="submit" value="submit" name="send" />
</form>

joka ajaa yksinkertaisen php-skriptin, joka puolestaan parseroi viestin ja mailaa eteenpäin:

if(isset($_POST[‘message’]) && isset($_POST[‘address’]) && isset($_POST[‘subject’])){
$message = $_POST[‘message’];
$message = wordwrap($message, 70);
$address = $_POST[‘address’];
$subject = $_POST[‘subject’];
// Send
if(mail($address, $subject, $message)){
print “mail succesfully sent”;
}else print ‘mailsending failed’;
}else print “error required field missing”;

mail.log kertoo tällaista. Ei saa yhteyttä ja loppujen lopuksi:

Apr 13 22:41:03 ubuntuvirtual sendmail[4005]: p3DJf3K8004005: to=xxxx.xxxx@gmail.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30099, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p3DJf3ie004007 Message accepted for delivery)
Apr 13 22:43:27 ubuntuvirtual sendmail[4091]: p3DJhRdH004091: from=www-data, size=99, class=0, nrcpts=1, msgid=201104131943.p3DJhRdH004091@ubuntuvirtual.elisa-laajakaista.fi, relay=www-data@localhost
Apr 13 22:43:27 ubuntuvirtual sm-mta[4092]: p3DJhRQp004092: from=www-data@ubuntuvirtual.elisa-laajakaista.fi, size=425, class=0, nrcpts=1, msgid=201104131943.p3DJhRdH004091@ubuntuvirtual.elisa-laajakaista.fi, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Apr 13 22:43:27 ubuntuvirtual sendmail[4091]: p3DJhRdH004091: to=xxxx.xxxx@gmail.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30099, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p3DJhRQp004092 Message accepted for delivery)
Apr 13 22:44:34 ubuntuvirtual sm-mta[4009]: p3DJf3ie004007: to=xxxx.xxxx@gmail.com, ctladdr=www-data@ubuntuvirtual.elisa-laajakaista.fi (33/33), delay=00:03:31, xdelay=00:03:31, mailer=esmtp, pri=120425, relay=alt4.gmail-smtp-in.l.google.com. [74.125.91.27], dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.

[quote=“japila, post:1, topic:1283”]Moi, osaisikohan joku viisaampi auttaa sendmail ongelman kanssa. En saa millään php-skriptiä lähettämään sähköpostia mihinkään osoitteeseen.

Minulla on yksinkertainen html-lomake, joka kysyy aiheen, vastaanottajan ja viestin:

<h1>Mail tester</h1>
<form action="mailtest.php" method="post">
	<label>subject: </label><input id="subject" name="subject" type="text" /> 
	<label>mail to: </label><input id="address" name="address" type="text" /> 
	<label>message: </label><textarea id="message" name="message" ></textarea> 
	<button type="submit" value="submit" name="send" />
</form>

joka ajaa yksinkertaisen php-skriptin, joka puolestaan parseroi viestin ja mailaa eteenpäin:

if(isset($_POST[‘message’]) && isset($_POST[‘address’]) && isset($_POST[‘subject’])){
$message = $_POST[‘message’];
$message = wordwrap($message, 70);
$address = $_POST[‘address’];
$subject = $_POST[‘subject’];
// Send
if(mail($address, $subject, $message)){
print “mail succesfully sent”;
}else print ‘mailsending failed’;
}else print “error required field missing”;

mail.log kertoo tällaista. Ei saa yhteyttä ja loppujen lopuksi:

Apr 13 22:41:03 ubuntuvirtual sendmail[4005]: p3DJf3K8004005: to=xxxx.xxxx@gmail.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30099, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p3DJf3ie004007 Message accepted for delivery)
Apr 13 22:43:27 ubuntuvirtual sendmail[4091]: p3DJhRdH004091: from=www-data, size=99, class=0, nrcpts=1, msgid=201104131943.p3DJhRdH004091@ubuntuvirtual.elisa-laajakaista.fi, relay=www-data@localhost
Apr 13 22:43:27 ubuntuvirtual sm-mta[4092]: p3DJhRQp004092: from=www-data@ubuntuvirtual.elisa-laajakaista.fi, size=425, class=0, nrcpts=1, msgid=201104131943.p3DJhRdH004091@ubuntuvirtual.elisa-laajakaista.fi, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Apr 13 22:43:27 ubuntuvirtual sendmail[4091]: p3DJhRdH004091: to=xxxx.xxxx@gmail.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30099, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p3DJhRQp004092 Message accepted for delivery)
Apr 13 22:44:34 ubuntuvirtual sm-mta[4009]: p3DJf3ie004007: to=xxxx.xxxx@gmail.com, ctladdr=www-data@ubuntuvirtual.elisa-laajakaista.fi (33/33), delay=00:03:31, xdelay=00:03:31, mailer=esmtp, pri=120425, relay=alt4.gmail-smtp-in.l.google.com. [74.125.91.27], dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.[/quote]

Hei, jos kyseessä on kuluttajaliittymä niin yleensä portti 25 on blockattu muualle kuin operaattorin smarthostiin. Joudut siis konfiguroimaan sendmailiin välityspalvelimeksi (smarthost) operaattorin palvelimen ja näin asia toimii.


Eero

[quote=“eero, post:2, topic:1283”][quote author=japila link=topic=1655.msg7673#msg7673 date=1302726204]
Moi, osaisikohan joku viisaampi auttaa sendmail ongelman kanssa. En saa millään php-skriptiä lähettämään sähköpostia mihinkään osoitteeseen.

Minulla on yksinkertainen html-lomake, joka kysyy aiheen, vastaanottajan ja viestin:

<h1>Mail tester</h1>
<form action="mailtest.php" method="post">
	<label>subject: </label><input id="subject" name="subject" type="text" /> 
	<label>mail to: </label><input id="address" name="address" type="text" /> 
	<label>message: </label><textarea id="message" name="message" ></textarea> 
	<button type="submit" value="submit" name="send" />
</form>

joka ajaa yksinkertaisen php-skriptin, joka puolestaan parseroi viestin ja mailaa eteenpäin:

if(isset($_POST[‘message’]) && isset($_POST[‘address’]) && isset($_POST[‘subject’])){
$message = $_POST[‘message’];
$message = wordwrap($message, 70);
$address = $_POST[‘address’];
$subject = $_POST[‘subject’];
// Send
if(mail($address, $subject, $message)){
print “mail succesfully sent”;
}else print ‘mailsending failed’;
}else print “error required field missing”;

mail.log kertoo tällaista. Ei saa yhteyttä ja loppujen lopuksi:

Apr 13 22:41:03 ubuntuvirtual sendmail[4005]: p3DJf3K8004005: to=xxxx.xxxx@gmail.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30099, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p3DJf3ie004007 Message accepted for delivery)
Apr 13 22:43:27 ubuntuvirtual sendmail[4091]: p3DJhRdH004091: from=www-data, size=99, class=0, nrcpts=1, msgid=201104131943.p3DJhRdH004091@ubuntuvirtual.elisa-laajakaista.fi, relay=www-data@localhost
Apr 13 22:43:27 ubuntuvirtual sm-mta[4092]: p3DJhRQp004092: from=www-data@ubuntuvirtual.elisa-laajakaista.fi, size=425, class=0, nrcpts=1, msgid=201104131943.p3DJhRdH004091@ubuntuvirtual.elisa-laajakaista.fi, proto=ESMTP, daemon=MTA-v4, relay=localhost [127.0.0.1]
Apr 13 22:43:27 ubuntuvirtual sendmail[4091]: p3DJhRdH004091: to=xxxx.xxxx@gmail.com, ctladdr=www-data (33/33), delay=00:00:00, xdelay=00:00:00, mailer=relay, pri=30099, relay=[127.0.0.1] [127.0.0.1], dsn=2.0.0, stat=Sent (p3DJhRQp004092 Message accepted for delivery)
Apr 13 22:44:34 ubuntuvirtual sm-mta[4009]: p3DJf3ie004007: to=xxxx.xxxx@gmail.com, ctladdr=www-data@ubuntuvirtual.elisa-laajakaista.fi (33/33), delay=00:03:31, xdelay=00:03:31, mailer=esmtp, pri=120425, relay=alt4.gmail-smtp-in.l.google.com. [74.125.91.27], dsn=4.0.0, stat=Deferred: Connection timed out with alt4.gmail-smtp-in.l.google.com.

[/quote]

Hei, jos kyseessä on kuluttajaliittymä niin yleensä portti 25 on blockattu muualle kuin operaattorin smarthostiin. Joudut siis konfiguroimaan sendmailiin välityspalvelimeksi (smarthost) operaattorin palvelimen ja näin asia toimii.


Eero[/quote]

toinen ongelma scriptissäsi on se, että siihen voi valita vastaanottajan osoiteen ja spammerit voivat sitten ruveta käyttämään sitä…


Eero

Skripti on vain lähinnä testausta varten, palvelin on natin takana(portit on avattu), ja skriptikansio on suojattu apachen basic authilla. Minulla on lähinnä hämärän peitossa tuo sendmailin ja php.inin konffaaminen.

php.ini:ssä on seuraavat konffit mailille:

smtp_port = 25
sendmail_path = /usr/sbin/sendmail -t

sendmail.cf:ssa seuraavat:

“Smart” relay host (may be null)
DS posti.saunalahti.fi

Onko vielä jotain mitä pitää muokata?

Noniin, nyt lähti toimimaan kun sain smarthostin konffattua kunnolla. Erittäin paljon kiitoksia avusta!

Kiitollisuudet voi osoittaa lahjoittamalla rahaa linuxin hyväksi, lahjoituksen saajan saa vapaasti valita ;D


Eero