ugrás a tartalomhoz

Kép+szöveg egy formmailben.

szocmunka · 2008. Jan. 1. (K), 02.32
Szevasztok!

Ismer valaki olyan szabadon letölthető formmail scriptet, mely a szöveg mellett képet is tud továbbítani?

Köszi! Szocmunka
 
1

Feltöltés?

janoszen · 2008. Jan. 1. (K), 10.53
Feltöltésre gondolsz? Az viszonylag egyszerű, benne is van a PHP manualban akár magyarul is.
2

formmail

szocmunka · 2008. Jan. 1. (K), 11.43
Formmail-re. A weblapon kitöltött formot a hozzácsatolt képpel email címre továbbítja. Sok olyan scriptet találtam, mely szöveget küld de képet nem.
(Tudom, hogy a weblabor nem galambsütöde, de talán valakinek van valami ilyesmi a fiók mélyén.)
3

Perl?

szocmunka · 2008. Jan. 1. (K), 12.59
Kizárólag Perl -es megoldásokat találtam. Tisztán PHP -vel csatolt fájl küldése nem megoldható?
4

PhpMailer

Ronyn · 2008. Jan. 1. (K), 16.05
-t letoltod,és itt van is rola leiras hogy hogy kell hozzá feluletet csinálni...
Persze ez attol is fugg hogy az user sajátgépröl,vagy url/ftp cimrol szeretne képet küldeni...
De szerintem a manuálban is van ilyen script...egy pár sorbol megoldhato php-ban is...
5

Nekiláttam...

szocmunka · 2008. Jan. 1. (K), 19.39
Szevasz Ronyn!
Letöltöttem a PhpMailer-t. Próbáltam megérteni és telepíteni a scriptet. Aztán rájöttem, hogy nem véletlenül írtad, hogy felületet kell hozzá csinálni...

Egyébként terveimben az user a weboldalamon található formot kitölti és csatol egy képet, melyet egy gombnyomással a gmail fiókomba továbbít.

Legtovább eddig egy hibrid megoldással jutottam, amit feltettem az oldalamra http://csigabiga.hu ,ez a script a szövegrészt emailben küldi el, míg a csatolt képet az oldal egyik könyvtárába tölti fel. Ez nem igazán jó, mivel ha valaki mókás kedvében van, hamar teletöltheti a 100mb -s tárterületemet.

A phpmailer -hez tudsz valami szájbarágós nmagyar leírást?

Köszi. K. I.
6

Minek szivatod magad?

janoszen · 2008. Jan. 1. (K), 20.08
Minek szivatod magad? Miért nem töltöd föl a fájlt a szerverre és küldöd el magadnak a linket? Az valszeg nagyságrendekkel kevesebb szívással járna...
8

Nem igazán értelek

szocmunka · 2008. Jan. 1. (K), 22.38
Egy kicsit kifejtenéd bővebben, hogy mire is gondolsz(?!)
9

Pl.

janoszen · 2008. Jan. 2. (Sze), 01.18
Tfh. a szerverre feltöltöd valahova a képet, amit kapsz az általam belinkelt módszerrel. Elmented valahova a docrootba és az e-mailben elküldöd magadnak a linket: http://www.enoldalam.hu/feltoltottkepek/1234.jpg és ezzel megspórolod a MIME-os szívást.
10

olvass

gex · 2008. Jan. 2. (Sze), 02.43
Legtovább eddig egy hibrid megoldással jutottam, amit feltettem az oldalamra http://csigabiga.hu ,ez a script a szövegrészt emailben küldi el, míg a csatolt képet az oldal egyik könyvtárába tölti fel. Ez nem igazán jó, mivel ha valaki mókás kedvében van, hamar teletöltheti a 100mb -s tárterületemet.
11

Kerülő megoldás

janoszen · 2008. Jan. 2. (Sze), 08.41
És mi lenne, ha mondjuk a hibrid megoldás FTP-n fölmászatná a képet egy ingyenes tárhelyre? Vagy limitálnád a feltöltés mennyiségét? Senki nem fog ilyesmivel szórakozni, mert kis darabokban tud csak feltölteni és mindenkinek limitált a sávszélessége...

Egyébként bocsi a figyelmetlenségért.
7

Weblabor cikkek

Ronyn · 2008. Jan. 1. (K), 20.21
kozul asszem 2 foglalkozik konkrétan az emailkuldéssel(mint fentebb irtam),abbol az egyik a phpmailer feluletrol is ad egy egyszeru leirast....
Egyébként a lényege kb ennyi...

<?php
$mail=new PHPMailer();
$mail->From="felado##kukac##example.com";
$mail->FromName="a felado neve";
$mail->AddAddress("cimzett##kukac##email.cime");
$mail->AddAttachment($path);
$mail->Subject="Tárgy";
$mail->Body="szöveg";
if($mail->Send()){
print"Az email elküldve!";}
else{
print"Ez nem jött be";}
?>
Ez igy sima text/plain formátumban kuldi el a szoveget,de természeesen lehet html levelet is kuldeni vagy mindkettöt...
Az $path az a küldendö file elérési cime,ha már elmentetted egy mappába(a fentebb irt,általad használt scripttel),akkor az a cim,vagy ha mentés nélkul akarod küldeni,a formbol feltöltött fájlt,akkor a $_FILES["file inputmezo neve"]["tmp_name"]
változo tartalmazza a cimet,illetve a FILES["file inputmezo neve"]["name"] a fájl nevét.
Ilyenkor(elvileg) a feltoltott fájl kuldés után torlodik a szerverrol...
Feltoltö ürlap meg van a manuálon...
12

Próbálom

szocmunka · 2008. Jan. 3. (Cs), 16.02
Mióta ajánlottad, azóta folyamatosan ezzel a phpmailer-el foglalkozom.

Első nekifutásra beletettem egy file –ba a kódot (mailer.php) amit adtál, és egy html form-al (form.html) próbáltam adatokat továbbítani a mailer.php –ban beállított email címre.
A mail megérkezett a címre, de nem volt benne semmi. Próbálgattam több innen-onnan letöltött kódot, de a legtöbb amire jutottam velük az egy üres mail.

Aztán találtam ezt:
http://phpcode.mypapit.net/demo/plaincf/plaincf.zip

Telepítettem a fenti csomagot, itt ki lehet próbálni:
http://csigabiga.hu/contactform.html

Php kódfutási hibát nem jelez, csak jelzi, hogy nem sikerült kézbesíteni a levelet.

Bekapcsolt debug móddal ezt adja :

SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "220 mx.google.com ESMTP z34sm24106401ikz.8 " SMTP -> get_lines(): $data is "220 mx.google.com ESMTP z34sm24106401ikz.8 " SMTP -> FROM SERVER: 220 mx.google.com ESMTP z34sm24106401ikz.8 SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "250-mx.google.com at your service, [195.70.62.196] " SMTP -> get_lines(): $data is "250-mx.google.com at your service, [195.70.62.196] " SMTP -> get_lines(): $data was "250-mx.google.com at your service, [195.70.62.196] " SMTP -> get_lines(): $str is "250-SIZE 28311552 " SMTP -> get_lines(): $data is "250-mx.google.com at your service, [195.70.62.196] 250-SIZE 28311552 " SMTP -> get_lines(): $data was "250-mx.google.com at your service, [195.70.62.196] 250-SIZE 28311552 " SMTP -> get_lines(): $str is "250-8BITMIME " SMTP -> get_lines(): $data is "250-mx.google.com at your service, [195.70.62.196] 250-SIZE 28311552 250-8BITMIME " SMTP -> get_lines(): $data was "250-mx.google.com at your service, [195.70.62.196] 250-SIZE 28311552 250-8BITMIME " SMTP -> get_lines(): $str is "250-STARTTLS " SMTP -> get_lines(): $data is "250-mx.google.com at your service, [195.70.62.196] 250-SIZE 28311552 250-8BITMIME 250-STARTTLS " SMTP -> get_lines(): $data was "250-mx.google.com at your service, [195.70.62.196] 250-SIZE 28311552 250-8BITMIME 250-STARTTLS " SMTP -> get_lines(): $str is "250 ENHANCEDSTATUSCODES " SMTP -> get_lines(): $data is "250-mx.google.com at your service, [195.70.62.196] 250-SIZE 28311552 250-8BITMIME 250-STARTTLS 250 ENHANCEDSTATUSCODES " SMTP -> FROM SERVER: 250-mx.google.com at your service, [195.70.62.196] 250-SIZE 28311552 250-8BITMIME 250-STARTTLS 250 ENHANCEDSTATUSCODES SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "530 5.7.0 Must issue a STARTTLS command first z34sm24106401ikz.8 " SMTP -> get_lines(): $data is "530 5.7.0 Must issue a STARTTLS command first z34sm24106401ikz.8 " SMTP -> ERROR: AUTH not accepted from server: 530 5.7.0 Must issue a STARTTLS command first z34sm24106401ikz.8 SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "250 2.1.0 Flushed z34sm24106401ikz.8 " SMTP -> get_lines(): $data is "250 2.1.0 Flushed z34sm24106401ikz.8 " SMTP -> FROM SERVER: 250 2.1.0 Flushed z34sm24106401ikz.8 SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "530 5.7.0 Must issue a STARTTLS command first z34sm24106401ikz.8 " SMTP -> get_lines(): $data is "530 5.7.0 Must issue a STARTTLS command first z34sm24106401ikz.8 " SMTP -> FROM SERVER: 530 5.7.0 Must issue a STARTTLS command first z34sm24106401ikz.8 SMTP -> ERROR: MAIL not accepted from server: 530 5.7.0 Must issue a STARTTLS command first z34sm24106401ikz.8 SMTP -> get_lines(): $data was "" SMTP -> get_lines(): $str is "250 2.1.0 Flushed z34sm24106401ikz.8 " SMTP -> get_lines(): $data is "250 2.1.0 Flushed z34sm24106401ikz.8 " SMTP -> FROM SERVER: 250 2.1.0 Flushed z34sm24106401ikz.8
There was an error in sending mail, please try again at a later time
Language string failed to load: from_failedprobamenet##kukac##gmail.com

Ebből az üzenetből mit lehet kihámozni? Én úgy értelmezem, hogy a google szervere nem fogadja a mail –t. Ennek mi lehet az oka?
13

SwiftMailer

carstepD · 2008. Jan. 3. (Cs), 16.32
Szia,

szerintem ne szenvedj a phpmailerrel, nem túl biztonságos (header injection ellen sajna nem véd). Szerintem érdemes kipróbálni Swiftmailert, amely könnyebben kezelhető, mint a phpmailer és még megbízhatóbb a biztonság szempontjából, mint a phpmailer. Számos példa található a weboldalon és még kevés angol tudással is megérhetőek!

Üdv
Sanyi
14

phpmailer

szocmunka · 2008. Jan. 8. (K), 13.45
form.html

<html>
<form action="mailer.php" method="post">
Felado: <input type="text" name="felado"> <br>
Targy:  <input type="text" name="targy"> <br>
Uzenet: <textarea name="uzenet"></textarea><br>
File:   <input type="file" name="file" MAXLENGTH=50 ALLOW="text/*" >
<input type="submit" name="submit" value="Elkuld">
</html>
mailer.php

<?php
require("class.phpmailer.php");
$mail=new PHPMailer();  
$mail->From="info##kukac##csigabiga.hu";  
$mail->FromName=$_POST['felado'];  
$mail->AddAddress("probamenet##kukac##gmail.com");  
$mail->AddAttachment=$_FILES["file"]["tmp_name"];
$mail->Subject=$_POST['targy'];  
$mail->Body=$_POST['uzenet'];
if($mail->Send()){  
print"Az email elküldve!";}  
else{  
print"Ez nem jött be";}   
?>
link


Félig már működik! A szöveges részek megérkeznek az email címre, de a csatolt kép nem...
15

Köszönetnyílvánítás

szocmunka · 2008. Jan. 8. (K), 20.02
Sikerült elindítani egy kis segítséggel. Bár a megoldás végig ott volt a hozzászólásodban. Kösz Ronyn.