Muuttelin vähän erästä netistä poimittua mail-skriptiä. Se lähettää sähköpostin mukana tyhjän txt.-liitetiedoston. Mitenkähän se toiminnon saisi pois. Tässä koodi:
function mail_html($ilmoitus,$aihe,$taulu){ $limite = "_parties_".md5 (uniqid (rand())); $mail_mime = "Date: ".date("l j F Y, G:i")."\n"; $mail_mime .= "MIME-Version: 1.0\n"; $mail_mime .= "Content-Type: multipart/alternative;\n"; $mail_mime .= " boundary=\"----=$limite\"\n\n"; //Le message en texte simple pour les navigateurs qui n'acceptent pas le HTML $texte_simple = "This is a multi-part message in MIME format.\n"; $texte_simple .= "Ceci est un message est au format MIME.\n"; $texte_simple .= "------=$limite\n"; $texte_simple .= "Content-Type: text/plain; charset=\"US-ASCII\"\n"; $texte_simple .= "Content-Transfer-Encoding: 7bit\n\n"; $texte_simple .= strip_tags(eregi_replace("<br>", "\n",$taulu)); $texte_simple .= "\n\n"; //le message en html original $texte_html = "------=$limite\n"; $texte_html .= "Content-Type: text/html; charset=\"US-ASCII\"\n"; $texte_html .= "Content-Transfer-Encoding: 7bit\n\n"; $texte_html .= $taulu; $texte_html .= "\n\n\n------=$limite\n"; return mail($ilmoitus,$aihe, $texte_simple.$texte_html,$mail_mime."Reply-to:$reply\nFrom:$from\n".$entete); }
Tuo $taulu-muuttuja sisältää varsinaisen viestin html-tageineen. Tietysti jos joku keksii, miten sen sisältö liitetään liitetiedoston sisällöksi ja liitteen pääte muutetaan html-ksi, niin hyvä sekin.
Mikä tuossa koodissa siis lähettää sen liitetiedoston?
pitäisikö tuon toimia?
en saanut tuota toimimaan sitten millään...
On se minulla toiminut hyvin, mutta tällä hetkellä ei näy pelaavan...
Empä tajua, voiko syynä olla Int2000.netin levyrikko / huolto?
Minulla on tuossa sähköpostissa kaksi lähetyspainiketta ja toinen niistä ilmoitti "Server Hangup" . Mitä se on?
Edit: Sen verran tuosta kuitenkin arvelin, että liitetiedoston pääte muuttuu muuttamalla tuosta text/plain => text/html
Jossakin jotain häikkää: sähköposti-osoitetta ei tunnisteta, vaikka asetin sen näin:
$xx="mun@email"; return mail($xx,$aihe, $texte_simple.$texte_html,$mail_mime."Reply-to:$reply\nFrom:$from\n".$entete); }
Funktion kutsumiseen liitin
or die ("Tuntematon virhe");
ja sehän tulostui sieltä
olisko php:n manuaali omiaan tässä
Empä osaa sanoa, mikä on jumissa.
Vaikuttaisi palvelimen puolella olevan jotain estoa päällä.
Kaikki ohjelmat, joissa on mailin lähetys toiminut kuukausia, ei nyt toimi.
Saman tekee myös tuo koodikirjastosta löytynyt pätkä:
https://www.ohjelmointiputka.net/koodivinkit/
d:|
Vika palvelimen päässä on jo paremmassa kunnossa. Nyt tuota jo voin testata..
En ole vielä kesinyt, miten liitetitiedoston saa tuosta skriptistä poistettua.
Tuo ehdotukseni ei toimi:
text/plain => text/html
Liittyykö se tuohon: Content-Type: multipart/alternative;
epäilenpä että liittyy, ja tossa näyttää olevan jokin erotin viestille ja tiedostolle
Ilmeisesti tätä kuitenkin tarvitaan, jotta homma säilyttäisi html-ulkoasun
Content-Type: multipart/alternative
Nuo rivit vaikuttaa olevan ylimääräisiä, testasin sitä näin:
//$texte_simple = "This is a multi-part message in MIME format.\n"; // $texte_simple .= "Ceci est un message est au format MIME.\n"; // $texte_simple .= "------=$limite\n";
samoin muuttuja $entete
Koko $texte_simple rykelmä on ylimääräinen, kun poistaa sen tuosta mailin lähetyksestä. Liitetiedosto ei vaan katoa.....
Edit: Tuo "muokkaa"-toiminto saisi olla pitempään päällä, ettei tartte aina kirjoittaa uutta viestiä
:?|
Edit: Tämä on supistunut nyt näin lyhyeksi:
function mail_html($ilmoitus,$aihe,$taulu){ $mail_mime = "Date: ".date("l j F Y, G:i")."\n"; $mail_mime .= "MIME-Version: 1.0\n"; $mail_mime .= "Content-Type: multipart/alternative;\n"; $mail_mime .= " boundary=\"----=\"\n\n"; //le message en html original $texte_html = "------=\n"; $texte_html .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; $texte_html .= "Content-Transfer-Encoding: 7bit\n\n"; $texte_html .= $taulu; $texte_html .= "\n\n\n"; mail($ilmoitus,$aihe,$texte_html,$mail_mime."From:$from\n") or die ("TUNTEMATON VIRHE!"); } mail_html($ilmoitus,$aihe,$taulu);
Toimii samoin kuin ennen, lähettää viestin html-muodossa mutta tekaisee myös tyhjän txt-liitetiedoston.
Kokeileppa tällaista:
function mail_html($ilmoitus,$aihe,$taulu){ $mail_mime = "Date: ".date("l j F Y, G:i")."\n"; $mail_mime .= "MIME-Version: 1.0\n"; $mail_mime .= "Content-Type: text/html; charset=\"iso-8859-1\"\n"; $mail_mime .= "Content-Transfer-Encoding: 7bit\n\n"; //le message en html original $texte_html .= $taulu; $texte_html .= "\n\n\n"; mail($ilmoitus,$aihe,$texte_html,$mail_mime."From:$from\n") or die ("TUNTEMATON VIRHE!"); } mail_html($ilmoitus,$aihe,$taulu);
Tuota Content-Type: multipart/alternativea taidetaan tarvita vain silloin, kun viesti lähetetään sekä HTML:nä ja tekstinä...
Kiitoksia paljon!
Nyt alkoi toimimaan. Piti vielä poistaa tuosta lopusta tuo:
."From:$from\n"
Aihe on jo aika vanha, joten et voi enää vastata siihen.