Pitäis saada lähetettyä sähköpostia monelle henkilölle yhtäaikaa..
S-postiosoitteet haetaan kannasta..
Tuossa tän hetkinen koodi:
for($i=0; $i< pg_num_rows($mailihaku); $i )
{
$tiedot=pg_fetch_all($mailihaku);
}
$osoitejono="";
foreach($tiedot as $tt)
{
$osoitejono .= $tt['mail'].",";
}
$osoitejono .="[email protected]";
mail($osoitejono,$otsikko,$viesti,"From: Jukka ");
Onko tuossa osoitejonossa jotain väärin?
S-postiosoitteet haetaan kannasta..
Tuossa tän hetkinen koodi:
for($i=0; $i< pg_num_rows($mailihaku); $i )
{
$tiedot=pg_fetch_all($mailihaku);
}
$osoitejono="";
foreach($tiedot as $tt)
{
$osoitejono .= $tt['mail'].",";
}
$osoitejono .="[email protected]";
mail($osoitejono,$otsikko,$viesti,"From: Jukka ");
Onko tuossa osoitejonossa jotain väärin?
Vastaukset 6
Vanhimmat
Tulosta se osoitejono, niin näet mikä siinä on vikana.
tulostin sen..
mailiosotteet tuli oikein pilkuilla erotettuina, mutta jonon lopussa oli merkki, kuin pieni 0.
vika lienee siinä..
mitenköhän tuon merkin saa pois?
Näkyikö tuo nolla vain sivun lähdekoodeissa?
Jos niin se on Unix mailman rivinvaihto jota muistio ei ymmärrä ja näyttääpi laatikkona.
Jos taas näkyi sivussakin niin silloin tuo laatikko on tietokannassasi joten poista se sielt. Tosin tuo voi olla ns tyhjä merkkikin
jonka huomasin kun koodia vähän tarkempaa katsoessa, tuo sinun koodi näyttää ihmeelliseltä joten ongelma voi johtua siitä. Juu en ole käyttänyt PG kantaa vaan MySQL.
Katsoppas http://fi.php.net/manual/fi/function.pg-fetch-assoc.php siel on esimerkki miten tietoja tulostetaan.
Laitat $osoitejono .= "'{$row['email']}',";
Kertomasi ohjelmakoodi tulostaa myös viimeisen osoitteen perään pilkun, joka ei mielestäni ole RFC 2822:n mukainen tapa esittää sähköpostiviestin To-otsakeessa olevia osoitteita.
Eli näin:
[email protected],[email protected]
Eikä näin:
[email protected],[email protected],
Vika voi tietysti olla muuallakin, mutta tuo kannattaa siitä huolimatta korjata.
Katsoppas tarkemmin tuota koodia, ei siinä tule ylim pilkkua.
foreach($tiedot as $tt)
{
$osoitejono .= $tt['mail'].",";
}
// Tässä lisätään osoite loppuun joten ylim pilkkua ei ole.
$osoitejono .="[email protected]";
Että email osotteiden ympäriltä puuttuu ' tai " merkit.
Muuta
$osoitejono .= $tt['mail'].",";
Muotoon
$osoitejono .= "'$tt['mail']',";
Ja
$osoitejono .="[email protected]";
$osoitejono .="'[email protected]'";
Tämä siis nopeasti vilkasemal jos ei toimi niin kokeile
echo $osoitejono;