Avatar billede zyberdog Nybegynder
28. februar 2003 - 22:05 Der er 27 kommentarer og
1 løsning

Form Mail (Ved godt der er mange andre :/)

Jaja... jeg kan godt se ved at kigge lidt i arkivet at der er mange der har haft spurgt om Formail i php... men jeg tror jeg har et problem som ikke andre lige har spurgt til:

Hvis jeg bruger mail() tingen til at sende en email fra min php side.. hvor alt er fyldt ind osv..
er der så ikke en måde at gøre det på så selve serveren ikke behøves:
smtp: deres.smtpserver.dk
i deres php.ini ...

Altså sådan at den kan sendes fra alle hostere der bare understøtter php, men måske ikke lige har udfyldt det der pga. farer for spam der kan linkes tilbage til dem...
Avatar billede fangel Nybegynder
28. februar 2003 - 22:08 #1
du kan altid åbne en socket til en mail server (smtp.mail.dk), og sende mailen, dog er jeg ik' så sej til sockets, men kig rundt... de findes mange steder...

Morten
Avatar billede zyberdog Nybegynder
28. februar 2003 - 22:10 #2
Kan du finde et dansk sted?
Avatar billede fangel Nybegynder
28. februar 2003 - 22:13 #3
prøv at søg lidt her på exp.dk... ser lige om jeg kan finde noget i manualen...
Avatar billede zyberdog Nybegynder
28. februar 2003 - 22:18 #4
jeps.. (Hvis du vil kan det være lidt lettere at snakke over ICQ, MSN, IRC, AOL, Yahoo, Indian) .. eller lign...
Avatar billede fangel Nybegynder
28. februar 2003 - 22:53 #5
har lige prøvet at stykke lidt sammen... meget usikker på at det virker, det er stykket sammen fra en længere class jeg fandt, men den kunne en masse du ikke havde brug for, så dette her er vidst det mest simple...

<?php

$conn = fsockopen("smtp.mail.dk", 25); // forbinder til serveren
fputs($conn,"HELO xyzrn"); //laver noget logon, hved ikke hvorfor "xyzrn"
fputs($conn,"MAIL FROM: [fra@mail.dk]rn"); // indholder afsender adresse... + rn
fputs($conn,"RCPT TO: [til@mail.dk]rn"); // indholder modtager adresse... +rn
fputs($conn, "DATArn"); // ved ikke om, og hvorfor dette skal være der, men det stod i den klasse jeg fandt...
fputs($conn,"From: [FRA]rn"); // afsender navn... + rn
fputs($conn,"Subject: [EMNE]rn"); // enme... +rn
fputs($conn,"To: [TIL]rn"); // modtager navn... +rn
fputs($conn,"rn"); // ved ikke hvorfor...
fputs($conn,"[indhold] rn"); // indhold... +rn
fputs($conn,".rn"); // ved ikke hvorfor...
fputs($conn, "QUITrn"); // afslutter sessionen
fclose($conn); // lukker socket'en...

?>

jeg ved IKKE om det virker, det er sat sammen fra en klasse fundet i dette spm... http://www.eksperten.dk/spm/211017

du kan evt bruge den istedet for det jeg har prøvet at sammensætte... ;)

Morten
Avatar billede zyberdog Nybegynder
28. februar 2003 - 22:57 #6
ok prøver lige imorgen...
Avatar billede zyberdog Nybegynder
01. marts 2003 - 10:29 #7
$IP = $GLOBALS['REMOTE_ADDR'];
$FIP = $GLOBALS['HTTP_X_FORWARDED_FOR'];
if (($FIP != "") && ($FIP != "unknown")) $IP = $FIP;
$IP = explode(",", $IP);
$IP = $IP[0];

      //$myname = "Me Myself & Irene...";
      //$myemail = "Zyberdog@TheStrike.dk";
      $contactname = "Zyberdog";
      $contactemail = "Zyberdog@thestrike.dk";
      //$message = "hello from happy me";
      $subject = "Mail fra Hjemmeside - FeedBack";
      $message = "".$message." From ".$IP."";
      $headers .= "MIME-Version: 1.0\r\n";
      $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
      $headers .= "From: ".$myname." <".$myemail.">\r\n";
      $headers .= "To: ".$contactname." <".$contactemail.">\r\n";
      $headers .= "Reply-To: ".$myname." <$myemail>\r\n";
      $headers .= "X-Priority: 1\r\n";
      $headers .= "X-MSMail-Priority: High\r\n";
      // $headers .= "X-Mailer: smtp.mail.dk";
$conn = fsockopen("smtp.mail.dk", 25); // forbinder til serveren
fputs($conn,"HELO xyzrn"); //laver noget logon, hved ikke hvorfor "xyzrn"
fputs($conn,"MAIL FROM: [$myemail]rn"); // indholder afsender adresse... + rn
fputs($conn,"RCPT TO: [$contactemail]rn"); // indholder modtager adresse... +rn
fputs($conn, "DATArn"); // ved ikke om, og hvorfor dette skal være der, men det stod i den klasse jeg fandt...
fputs($conn,"From: [$myname]rn"); // afsender navn... + rn
fputs($conn,"Subject: [$subject]rn"); // enme... +rn
fputs($conn,"To: [$contactname]rn"); // modtager navn... +rn
fputs($conn,"rn"); // ved ikke hvorfor...
fputs($conn,"[$message] rn"); // indhold... +rn
fputs($conn,".rn"); // ved ikke hvorfor...
fputs($conn, "QUITrn"); // afslutter sessionen
fclose($conn); // lukker socket'en...

----
Det har nu ... alle variablerne er sat fra den side med form på...
Avatar billede zyberdog Nybegynder
01. marts 2003 - 10:33 #8
Mailen kommer ikke - Prøver at bruge hele den class du henviser til... men hvor i den skriver man smtp serveren ?
Avatar billede fangel Nybegynder
01. marts 2003 - 10:34 #9
det skal ikke være [] rundt om variablerne, bare for at vise at det var det der skulle ændres... ;) my bad...
Avatar billede zyberdog Nybegynder
01. marts 2003 - 10:41 #10
Wuhu... jeg kan ikke kalde den class der...
Avatar billede zyberdog Nybegynder
01. marts 2003 - 10:48 #11
Prøver jeg lige...
Avatar billede zyberdog Nybegynder
01. marts 2003 - 10:50 #12
Sådan en som den her: http://www.eksperten.dk/spm/205869
kan jeg ikke få det mindste ud af.. en smule for kompliceret til mig ;)
Avatar billede zyberdog Nybegynder
01. marts 2003 - 10:53 #13
Man burde få mailen umidlbar med det samme ikke ?
Avatar billede zyberdog Nybegynder
01. marts 2003 - 10:59 #14
$IP = $GLOBALS['REMOTE_ADDR'];
$FIP = $GLOBALS['HTTP_X_FORWARDED_FOR'];
if (($FIP != "") && ($FIP != "unknown")) $IP = $FIP;
$IP = explode(",", $IP);
$IP = $IP[0];
      //$myname = "Me Myself & Irene...";
      //$myemail = "Zyberdog@TheStrike.dk";
      $contactname = "Zyberdog";
      $contactemail = "Zyberdog@thestrike.dk";
      //$message = "hello from happy me";
      $subject = "Mail fra Hjemmeside - FeedBack";
      $message = "".$message." From ".$IP."";
      $headers .= "MIME-Version: 1.0\r\n";
      $headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
      $headers .= "From: ".$myname." <".$myemail.">\r\n";
      $headers .= "To: ".$contactname." <".$contactemail.">\r\n";
      $headers .= "Reply-To: ".$myname." <$myemail>\r\n";
      $headers .= "X-Priority: 1\r\n";
      $headers .= "X-MSMail-Priority: High\r\n";
      // $headers .= "X-Mailer: smtp.mail.dk";
$conn = fsockopen("smtp.mail.dk", 25); // forbinder til serveren
fputs($conn,"HELO xyz\r\n"); //laver noget logon, hved ikke hvorfor "xyzrn"
fputs($conn,"MAIL FROM: $myemail\r\n"); // indholder afsender adresse... + rn
fputs($conn,"RCPT TO: $contactemail\r\n"); // indholder modtager adresse... +rn
fputs($conn,"DATA\r\n"); // ved ikke om, og hvorfor dette skal være der, men det stod i den klasse jeg fandt...
fputs($conn,"From: $myname\r\n"); // afsender navn... + rn
fputs($conn,"Subject: $subject\r\n"); // enme... +rn
fputs($conn,"To: $contactname\r\n"); // modtager navn... +rn
fputs($conn,"rn"); // ved ikke hvorfor...
fputs($conn,"$message\r\n"); // indhold... +rn
fputs($conn,".rn"); // ved ikke hvorfor...
fputs($conn, "QUIT\r\n"); // afslutter sessionen
fclose($conn); // lukker socket'en...

// Virker ikke rigtig.. - Hvis du ser en fejl må du gerne skrive det hele igen, rettet..
Avatar billede fangel Nybegynder
01. marts 2003 - 11:01 #15
kan se der er røget noget af scriptet i den del jeg har skrevet efter... alle "rn", skal være "\r\n"...

altså

$conn = fsockopen("smtp.mail.dk", 25);
fputs($conn,"HELO xyz\r\n");
fputs($conn,"MAIL FROM: mfa@desi-dev.dk\r\n");
fputs($conn,"RCPT TO: mfa_loopback@desi-dev.dk\r\n");
fputs($conn, "DATA\r\n");
fputs($conn,"From: Morten Fangel\r\n");
fputs($conn,"Subject: Test af SMTP send va sockets\r\n");
fputs($conn,"To: Mig Selv\r\n");
fputs($conn,"\r\n");
fputs($conn,"Dette er en test af SMTP send via sockets, virker det mod? \r\n");
fputs($conn,".\r\n");
fputs($conn, "QUIT\r\n");
fclose($conn);

Morten... ;)
Avatar billede fangel Nybegynder
01. marts 2003 - 11:04 #16
PS, forklating på \r\n...

\r = carrige return (vogn retur) (usikker på stavemåden)
\n = new line (ny linie)

det laver altså en ny linie og starte fra starten af linine...

vogn retur stammer fra skrivemaskinerne's tid... får at lave en ny linie skulle man BÅDE ned (ny linie), og hen til staten af linine (vogn retur)...

Morten
Avatar billede zyberdog Nybegynder
01. marts 2003 - 11:18 #17
<?php
$conn = fsockopen("smtp.mail.dk", 25);
fputs($conn,"HELO xyz\r\n");
fputs($conn,"MAIL FROM: Zyberdog@TheStrike.dk\r\n");
fputs($conn,"RCPT TO: Zyberdog@TheStrike.dk\r\n");
fputs($conn, "DATA\r\n");
fputs($conn,"From: David L\r\n");
fputs($conn,"Subject: Test af SMTP send va sockets\r\n");
fputs($conn,"To: Mig Selv\r\n");
fputs($conn,"\r\n");
fputs($conn,"Dette er en test af SMTP send via sockets, virker det mon? \r\n");
fputs($conn,".\r\n");
fputs($conn, "QUIT\r\n");
fclose($conn);
?>
Får jeg ikke nogen mail ved...
Avatar billede fangel Nybegynder
01. marts 2003 - 11:21 #18
jeg ved ik' hvorfor... jeg har somsagt bare fundet den class som jeg henviser til, og prøve at skære at det unødvendige fra...

Morten
Avatar billede zyberdog Nybegynder
01. marts 2003 - 11:23 #19
ok, men får du en mail fra det jeg lige har pastet? (Self med din mail i RCPT TO:)
Avatar billede zyberdog Nybegynder
01. marts 2003 - 11:28 #20
ellers må jeg bare vende tilbage til mail() igen også finde en hoster der understøtter det.. altså har sat en smtp i conf
Avatar billede fangel Nybegynder
01. marts 2003 - 11:30 #21
jeg har ik' fået nogle mails
Avatar billede zyberdog Nybegynder
01. marts 2003 - 11:30 #22
øv bøv...
Avatar billede zyberdog Nybegynder
01. marts 2003 - 11:33 #23
iøvrigt... der hvor jeg får selve beskeden fra... bliver sat til $message i den form de udfylder... og når jeg bruger mail() osv. så virker det fint på min egen webserver hvor jeg har sat smtp = smtp.mail.dk i php.ini...

Men i den message.. har de jo skrevet nogle flere linier.. altså trykket ENTER et par gange måske.. og når jeg får mailen får jeg bare alt det i $message på en lang línie... :/
Avatar billede fangel Nybegynder
01. marts 2003 - 19:36 #24
jeg har lige testet scriptet... jeg lavede en HARD CODE test af det... altså åbne en telnet session til smtp.mail.dk:25 og indtastede de info der står, og det virkede...

Morten
Avatar billede fangel Nybegynder
01. marts 2003 - 19:42 #25
log over min session med serveren

--- log ---
220 pfepc.post.tele.dk ESMTP
HELO xyz
250 pfepc.post.tele.dk
MAIL FROM: mfa@desi-dev.dk
250 Ok
RCPT TO: mfa@desi-dev.dk
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
From: mfa@desi-dev.dk
To: mfa@desi-dev.dk
Subject: testmail

testindhold af mailen...
.
250 Ok: queued as AB41E2629B9
QUIT
221 Bye
--- / log ---

og den mail modtager jeg indenfor 2 min...

Morten
Avatar billede zyberdog Nybegynder
01. marts 2003 - 20:55 #26
underligt...
Avatar billede zyberdog Nybegynder
01. marts 2003 - 20:56 #27
men det må jeg vel bare få leget lidt med---
Tak for hjælpen. du har fået points
Avatar billede fangel Nybegynder
01. marts 2003 - 21:23 #28
jamen tak så... ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester