Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: Liitetiedoston poistaminen

Sivun loppuun

pistemies [20.09.2003 16:26:14]

#

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?

T.M. [20.09.2003 17:00:52]

#

pitäisikö tuon toimia?
en saanut tuota toimimaan sitten millään...

pistemies [20.09.2003 17:23:39]

#

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

pistemies [20.09.2003 17:59:33]

#

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ä

NiLon [22.09.2003 09:49:52]

#

olisko php:n manuaali omiaan tässä

pistemies [22.09.2003 13:30:12]

#

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/23780-php-palautelomake-lähettää-kaikki-muuttujat
d:|

pistemies [22.09.2003 16:15:02]

#

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;

T.M. [22.09.2003 17:05:48]

#

epäilenpä että liittyy, ja tossa näyttää olevan jokin erotin viestille ja tiedostolle

pistemies [22.09.2003 17:18:49]

#

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

pistemies [22.09.2003 18:09:12]

#

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.

JTJ [22.09.2003 19:00:22]

#

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ä...

pistemies [22.09.2003 19:21:52]

#

Kiitoksia paljon!

Nyt alkoi toimimaan. Piti vielä poistaa tuosta lopusta tuo:

."From:$from\n"


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta