Hei!
Olisiko mitenkään mahdollista lähettää sähköpostia php scriptin kautta?
Tulisin tarvtisemaan sitä tilin varmistamiseen.
PHP mail funktion avulla voit lähettää sähköpostia.
Esimerkki
<?php mail('vastaanottaja@domain.com', "Viestin aihe", "Viesti"); ?>
Tuleeko virheilmoituksia? Ovatko PHP:n sähköpostiasetukset oikeat?
Pyöritätkö tätä webbipalvelinta omalla palvelimellasi? Muokkaa PHP.ini konffia:
nano /etc/php5/apache2/php.ini
Ja sieltä tiedostosta:
; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; https://www.php.net/sendmail-path sendmail_path = "/usr/sbin/sendmail -t -i"
ja tietenkin webbipalvelimen uudelleenkäynnistys
Onko sinulla postfix/tai muu sähköpostipalvelu asennettu?
Lähde: http://eureka.ykyuen.info/2011/02/06/configure-postfixsendmail-for-php-mail-in-ubuntu/
oletko katsonut roskapostin? Ainakin omien kokemusten mukaan PHP:n mail-funktiolla lähetetyllä postilla on keskimääräistä suurempi todennäköisyys joutua roskapostiksi.
Voisiko ongelma liittyä siihen, että komento
mail('epe(et)epe07.eu', "jotain", "jotain");
sisältää kahta erityyppistä lainausmerkkiä?
Itse suosittelen käyttämään esim. phpmaileria, koska mail-funktiolla lähetetyt viestit menevät käsittääkseni helpommin spämmiin jne.
reca kirjoitti:
Voisiko ongelma liittyä siihen, että komento sisältää kahta erityyppistä lainausmerkkiä?
Ei voi liittyä siihen. Miten itse näkisit, että se voisi vaikuttaa?
epe07 kirjoitti:
mail('epe(et)epe07.eu', "jotain", "jotain");Ei tule perille.
Pitäisiköhän tuossa olla @-merkki (et) sijaan?
Muista katsoa palvelimen loki
/var/log/mail.log
Minh Truong kirjoitti:
/var/log/mail.log
Tiesitkö, että lokitiedot eivät ole kaikilla samassa paikassa? Kysyjällä tuskin on edes omaa palvelinta, webhotellissa ei yleensä pääse postipalvelimen lokitietoihin.
Metabolix kirjoitti:
Minh Truong kirjoitti:
/var/log/mail.log
Tiesitkö, että lokitiedot eivät ole kaikilla samassa paikassa? Kysyjällä tuskin on edes omaa palvelinta, webhotellissa ei yleensä pääse postipalvelimen lokitietoihin.
olet oikeassa..
jos on webbihotellissa, kysy palveluntarjoajalta apua
SMTP 25 usein estetty web hotelleistä tänä päivänä, varsinkin ilmaisista.
Jos tämä on tapauksessasi, voit käyttää esim Mandrillia viestisi lähettämiseen.
<?php include_once "swift_required.php"; $subject = 'Hello from Mandrill, PHP!'; $from = array('you@yourdomain.com' =>'Your Name'); $to = array( 'recipient1@example.com' => 'Recipient1 Name', 'recipient2@example2.com' => 'Recipient2 Name' ); $text = "Mandrill speaks plaintext"; $html = "<em>Mandrill speaks <strong>HTML</strong></em>"; $transport = Swift_SmtpTransport::newInstance('smtp.mandrillapp.com', 587); $transport->setUsername('MANDRILL_USERNAME'); $transport->setPassword('MANDRILL_PASSWORD'); $swift = Swift_Mailer::newInstance($transport); $message = new Swift_Message($subject); $message->setFrom($from); $message->setBody($html, 'text/html'); $message->setTo($to); $message->addPart($text, 'text/plain'); if ($recipients = $swift->send($message, $failures)) { echo 'Message successfully sent!'; } else { echo "There was an error:\n"; print_r($failures); } ?>
groovyb kirjoitti:
SMTP 25 usein estetty web hotelleistä tänä päivänä, varsinkin ilmaisista.
Osa webhotelleista estää saman tien lähes kaikki muutkin portit ja sallii lähinnä HTTP(S):n ja FTP:n tavalliset portit. Yleensä webhotelleilla on kuitenkin oma SMTP-palvelin, jonka kautta voi lähettää viestejä ainakin webhotelliin kuuluvasta osoitteesta. Sähköpostin lähetys on niin yleisesti käytetty ominaisuus, että olisi aika hölmöä pitää webhotellia, jossa se ei toimi. Toki hotellien käyttäjäkunnasta suuri osa ei ymmärrä vaatia rahalleen kunnollista vastinetta vaan hyväksyy kaiken maailman tyhmyyksiä ja purkkaviritelmiä...
eipä se oma smtp palvelin auta, jos palveluntarjoajan keskitetystä palomuurista on lähtevä portti 25 blokattu. Näin on tietääkseni esim Hostingerilla, oli sitten kyse vps:stä tai web hotellista. Ilmeisesti ilmaisia tai puoli-ilmaisia paketteja käytetään huomattavan paljon pelkän roskapostin lähettämiseen, joten on tehty periaateratkaisuja yleisellä tasolla. Mutta kuten Hostingerin tapauksessa, muita portteja on jätetty auki, kuten mandrillin käyttämä 587. Ilmeisesti se näin estää suurimman osan valmiista koodinpätkistä, jotka spämmiä lähettää. Tiedä sitten. Mutta vastaavia käytäntöjä taitanee monella palveluntarjoajalla olla, tämä oli esimerkki vain yhdestä ratkaisusta johon yksi palveluntarjoaja on päätynyt.
Rahalla saa ja hevosella pääsee: kun pistää vähän massia likoon, saa juuri sellaisen pannun mitä tarvitsee.
groovyb kirjoitti:
eipä se oma smtp palvelin auta,
Luitkohan nyt yhtään? Kirjoitin, että usein webhotellilla on oma SMTP-palvelin. Ei asiakkaalla vaan palveluntarjoajalla. Sellainen palvelin on webhotellista käytettäväksi tarkoitettu, ja luonnollisesti silloin myös liikenne sinne on sallittu. Palvelimelle voi päästä joskus esimerkiksi osoitteella localhost tai smtp.palveluntarjoaja.fi.
viesti oli kirjoitettu yleisesti ketjuun, lähinnä jatkoksi edelliselle kirjoitukselleni. Koskien lähinnä Minh Truongin mainintaa postfixistä. Ja ylläolevassa tapauksessa pitäisi postfixiin konffata relay host, ja käyttää ulkoista smtp:tä.
Aihe on jo aika vanha, joten et voi enää vastata siihen.