php.de

Zurück   php.de > Webentwicklung > PHP-Fortgeschrittene

PHP-Fortgeschrittene Arbeiten mit PHP ohne Einschränkungen

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 14.02.2006, 11:34  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard Email senden mit Anhang aus URL ???

Hallo,

ich möchte meinen Kunden die Möglichkeit bieten, online über ein Sendeformular, bestimmte Dokumente die auf meinem Server liegen per Email zu versenden. Dazu habe ich mir schon ein Skript zusammengebastelt, was Dateien vom eigenen Rechner versenden kann.

Code:
 <input type="file" size="63" name="datei" tabindex="11" />

Nun, möchte ich wie erwähnt, nicht Dateien von meinem eigenen Rechner sondern vom Server versenden.

Wie würde ich es dann machen?

Ich habe bereits die Variable $datei mit einer Pfad zu einem Bild auf dem Server also:
Code:
 $datei="http://www.domain.de/pfad/zum/bild.gif";
probiert. Es wird zwar ein Anhang gesendet, aber nicht mein Bild.

Für Hilfe wäre ich sehr dankbar.

Gruß cbass
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 14.02.2006, 11:37  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Und wie sieht konkret dein Versuch aus, die URL in eine Variable schreiben ist ja wohl nicht alles oder?
Zergling-new ist offline   Mit Zitat antworten
Alt 14.02.2006, 11:55  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

wenn alles auf dem Server ist, muss du ja nicht mit ganzen Pfad Angaben arbeiten.

wenn du weist wo die Datei liegt, versendest du diese halt, ganz einfach.

benutze am besten diese Klasse: http://phpmailer.sourceforge.net/
__________________
Wie man Fragen richtig stellt
dsmcg ist offline   Mit Zitat antworten
Alt 14.02.2006, 16:08  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard

Natürlich nicht Ist natürlich nen ganzer Batzen

PHP-Code:
   <?
                      
// Hinzugefügt Sebastian Scheuer, 14.02.2006, da eh immer nur eine Mail gesendet werden soll
                  
$anzahl "1";
                  
// Ende hinzugefügt
                  
  
if(isset($senden))
   {
    
/* Anzahl ist nicht ausgef&uuml;llt oder < 1 */
    
if($anzahl<1)
     {
      echo 
"  <p class=\"info\"><font color=\"#CC0000\">Error: Bitte im Feld Anzahl mindestens eine 1 eingeben.</font></p>\n </body>\n</html>";
      exit;
     }
    
/* Es wurde kein Empf&auml;nger eingegeben */
    
if(empty($empfaenger))
     {
      echo 
"  <p class=\"info\"><font color=\"#CC0000\">Error: Bitte mindestens einen Empf&auml;nger eingeben.</font></p>\n </body>\n</html>";
      exit;
     }
    
/* Empf&auml;nger existiert nicht */
    
$host_empfaenger substr(strstr($empfaenger'@'), 1);
    if(empty(
$host_empfaenger))
     {
      echo 
"  <p class=\"info\"><font color=\"#CC0000\">Error: Dieser Empf&auml;nger existiert nicht.</font></p>\n </body>\n</html>";
      exit;
     }
    
/* PROBLEM mehrere Empf&auml;nger - [email]info@php-mail-form.com[/email] */
    /* Bsp: Error: Der Empf&auml;nger "tobsn.com>" "tobsn.com,mail@tobiashenze.de,mail@bumsbar.com" existiert nicht.
    if(checkdnsrr($host_empfaenger) == FALSE)
     {
      echo "  <p class=\"info\">Error: Der Empf&auml;nger &quot;$host_empfaenger&quot; existiert nicht.</p>\n </body>\n</html>";
      exit;
     }
    */
    /* Betreff */
    
$betreff utf8_decode($betreff);
    
/* Wichtigkeit */
    
if($priority == "high")
     {
$wichtigkeit "X-Priority: 1 (Highest)\n" "Importance: High\n";}
    if(
$priority == "low")
     {
$wichtigkeit "X-Priority: 5 (Lowest)\n" "Importance: Low\n";}
    
/* Absender */
    
if(!empty($absender))
     {
      
$from "From: $absender\n";
     }
    
/* Kopie */
    
if(!empty($cc))
     {
      
$cc "Cc: $cc\n";
     }
    
/* Blind-Kopie */
    
if(!empty($bcc))
     {
      
$bcc "Bcc: $bcc\n";
     }
    
/* Antworten senden an */
    
if(!empty($reply))
     {
      
$reply "Reply-To: $reply\n";
     }
    else
     {
      
$reply "Reply-To: $absender\n";
     }
    
/* Anhang */
    /* Wenn eine Datei als Anhang ausgewaehlt wurde */
    
if(!empty($datei))
     {
      
/* Lese die temporaere Datei, die der Benutzer hochgeladen hat aus */
      
$datei_content fread(fopen($datei,"r"),filesize($datei));
      
/* Codiere Datei ins BASE64-Format */
      
$datei_content chunk_split(base64_encode($datei_content));
      
/* Generiere einen Boundary */
      
$boundary strtoupper(md5(uniqid(time())));
      
/* Beginne den Mail-Header mit MIME-Mail-Header */
      
$mail_header "Content-Type: multipart/mixed; boundary=$boundary\n";
      
/* Hier faengt der normale Mail-Text an */
      
$mail_header .= "--$boundary\n";
      
/* Format - (html o. txt) */
      
if($content_type == "text")
       {
        
$mail_header .= "Content-Type: text/plain\n";
        
$mail_header .= "Content-Transfer-Encoding: 7bit\n\n";
        
$msg str_replace(chr(10),"",$msg);
        
$msg utf8_decode($msg);
       }
      else
       {
        
$mail_header .= "Content-Type: text/html\n";
        
$mail_header .= "Content-Transfer-Encoding: 8bit\n\n";
       }
      
$mail_header .= "$msg\n\n";
      
/* Hier faengt der Datei-Anhang an */
      
$datei_name utf8_decode($datei_name);
      
$mail_header .= "--$boundary\n";
      
$mail_header .= "Content-Type: application/octetstream; name=\"$datei_name\"\n";
      
/* Codierung immer BASE64 */
      
$mail_header .= "Content-Transfer-Encoding: base64\n";
      
$mail_header .= "Content-Disposition: attachment; filename=\"$datei_name\"\n\n";
      
$mail_header .= "$datei_content\n";
      
/* Gibt das Ende der eMail aus */
      
$mail_header .= "--$boundary--\n";
     }
    else
     {
      
/* Format - (html o. txt) */
      
if($content_type == "text")
       {
        
$content_type "Content-Type: text/plain\n";
        
$encoding "Content-Transfer-Encoding: 7bit\n";
        
$msg str_replace(chr(10),"",$msg);
        
$msg utf8_decode($msg);
       }
      if(
$content_type == "html")
       {
        
$content_type "Content-Type: text/html\n";
        
$encoding "Content-Transfer-Encoding: 8bit\n";
       }
     }
    
$i 0;
    while (
$i<$anzahl)
     {
      
$header "MIME-Version: 1.0\n"
              
$from
              
$reply
              
$cc
              
$bcc
              
$mail_header
              
$content_type
              
$encoding
              
$wichtigkeit;
      
mail($empfaenger,$betreff,$msg,$header);
      
$k $i+1;
      
// Geändert Sebastian Scheuer, 14.02.2006, da eh immer nur eine Mail gesendet werden soll
      // Vorher:
      // print "<font color=\"#CC0000\">Sende E-Mail #$k
";
      // Nachher:
      print "
<font color="#CC0000\">";
      
$i++;
     }
    if(
$k 1)
     {
$s "$k E-Mails";}
    else
     {
$s "Eine E-Mail";}
    echo 
"
$s erfolgreich versandt!</font>"
;
   };
?>
                  
   <form enctype="multipart/form-data" method="post" action="<?$PHP_SELF?>">

     <input type="hidden" value"high" name="priority" tabindex="2" />
                      


      <input type="hidden" value"text" name="content_type" tabindex="3" />
    
    
    Absender: <input id="absender" class="left" type="text" name="absender" tabindex="4" />
   


    Empf&auml;nger: <input id="empfaenger" class="left" type="text" name="empfaenger" tabindex="6" />
    Kopie an: <input id="bcc" class="right" type="text" name="bcc" tabindex="9" /> 
    
  


    Betreff: <input id="betreff" class="left" type="text" name="betreff" tabindex="8" />
     


     Text:

     <textarea id="msg" cols="60" rows="9" name="msg" tabindex="10"></textarea>
     

Anhang: 


                    

                    

                    

                    <input id="senden" class="center" type="submit" value="E-Mail jetzt Senden" name="senden" tabindex="12" />
     <input class="reset" type="reset" value="L&ouml;schen" tabindex="13" />

   </form>
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline   Mit Zitat antworten
Alt 14.02.2006, 16:45  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

aha benutz wenigstens die PHP Tags des Forums, und reduziere das ganze bitte nur aufs wesentliche
__________________
Wie man Fragen richtig stellt
dsmcg ist offline   Mit Zitat antworten
Alt 14.02.2006, 17:16  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard

sorry, hab den php tag nich gesehen
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline   Mit Zitat antworten
Alt 14.02.2006, 17:21  
Erfahrener Benutzer
 
Benutzerbild von dsmcg
 
Registriert seit: 11.10.2005
Beiträge: 2.405
dsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäredsmcg sorgt für eine eindrucksvolle Atmosphäre
Standard

und warscheinlich meine Post nicht zu Ende gelesen:
Zitat:
Zitat von dsmcg
und reduziere das ganze bitte nur aufs wesentliche
__________________
Wie man Fragen richtig stellt
dsmcg ist offline   Mit Zitat antworten
Alt 14.02.2006, 17:54  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard

wie bist du denn drauf?

bevor jemand wieder sagt "poste doch bitte den ganzen code", wollte ich dies vorbeugen.
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline   Mit Zitat antworten
Alt 14.02.2006, 18:20  
Gast
 
Beiträge: n/a
Standard Re: Email senden mit Anhang aus URL ???

Zitat:
Es wird zwar ein Anhang gesendet, aber nicht mein Bild.
Was denn? Liebesgrüße? Pornofilme?

Zitat:
Wie würde ich es dann machen?
...und das von einem Fortgeschrittenen wie Dir.

Zitat:
Zitat von [url
http://de.php.net/filesize[/url]]As of PHP 5.0.0 this function can also be used with some URL wrappers.
Gegeben!?

Zitat:
Zitat von c-bass
bevor jemand wieder sagt "poste doch bitte den ganzen code"
Das wird hier - hoffentlich - niemand von Dir verlangen. Poste das
Wesentliche. Alles andere macht unnötig Arbeit. Was wesentlich ist,
solltest Du wohl entscheiden können...


Ansonsten:

http://php.net/error_reporting
http://php.net/security.globals
...
  Mit Zitat antworten
Alt 14.02.2006, 18:39  
Benutzer
 
Registriert seit: 18.07.2005
Beiträge: 90
c-bass
Standard

vielleicht doch eher was fürs anfängerforum. trotzdem danke.
__________________
// http://www.4Webworking.de
// Das Ressourcenarchiv für Webworker
c-bass ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
datei upload und per email senden PHP-Fortgeschrittene 14 03.11.2011 14:35
Email empfang mit csv/txt Anhang silverstar80 PHP-Fortgeschrittene 3 10.09.2007 14:35
email senden mit charset=Windows-1251 test022 PHP Tipps 2006 0 10.10.2006 17:46
email mit Anhang nick-parker PHP Tipps 2006 8 13.03.2006 16:27
Formular an 2 Email adressen senden PHP Tipps 2006 7 07.01.2006 17:54
Email aus PHP-Seite senden ohne "mail" Funktion PHP Tipps 2007 9 28.12.2005 14:53
Anhang mit php senden .. chrisbog PHP-Fortgeschrittene 10 25.12.2005 20:24
Email mit Anhang von Festplatte ckrentel PHP Tipps 2007 1 04.12.2005 16:02
problem beim versenden einer pdf als email anhang Sclot PHP Tipps 2005-2 6 06.09.2005 11:56
Formular an meine Email adresse senden 'progman' PHP Tipps 2005 1 01.03.2005 19:43
email an 3 empfängern senden kid01 PHP Tipps 2005 2 01.03.2005 14:30
email und anhang PHP Tipps 2004-2 3 27.12.2004 17:41
Formulareinträge in Datenbank eintragen u. Email senden wishy PHP Tipps 2004 6 13.12.2004 16:35
xfdf Datei mit PHP an eMail senden Problem: Leere Datei PHP Tipps 2004-2 1 07.12.2004 12:25
datei uploaden und per email senden. PHP Tipps 2004-2 2 26.11.2004 09:03

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
email url anhang, url senden, mail url anhang, datei versenden \vom eigenen rechner\, url als anhang verschicken, email anhang url, kontaktformular e mail senden funktioniert nicht

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:09 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.