Avatar billede telly Nybegynder
23. juni 2005 - 15:25 Der er 2 kommentarer og
1 løsning

sende mail fra website

Jeg har forsøgt at finde et script der kan sende en mail fra en website, men uden held...Jeg får ingen fejlmeddeelser, men jeg modtager ingen mail.
jeg har forsøgt at bruge GMAILs og TDCs SMTP og prøvet med authentication.
Kører med localhost Apache.

Scriptet jeg har leget med:

$smtp_server = "smtp.mail.dk";
$port = 25;
$mydomain = "localhost";
$username = "";
$password = "";
$sender = "mail@mail.com";
$recipient = "mail@mail.com";
$subject = "test";
$content = "test";

// Initiate connection with the SMTP server
$handle = fsockopen($smtp_server,$port);
fputs($handle, "EHLO $mydomain\r\n");

// SMTP authorization
fputs($handle, "AUTH LOGIN\r\n");
fputs($handle, base64_encode($username)."\r\n");
fputs($handle, base64_encode($password)."\r\n");

// Send out the e-mail
fputs($handle, "MAIL FROM:<$sender>\r\n");
fputs($handle, "RCPT TO:<$recipient>\r\n");
fputs($handle, "DATA\r\n");
fputs($handle, "To: $recipient\n");
fputs($handle, "Subject: $subject\n\n");
fputs($handle, "$content\r\n");
fputs($handle, ".\r\n");

// Close connection to SMTP server
fputs($handle, "QUIT\r\n");
echo "mail sendt";
Avatar billede mccookie Seniormester
23. juni 2005 - 16:18 #1
Jeg tror også du er igang et helt forkert sted!!

1)
Jeg antager du har mulighed for PHP ik?

2)
Se dette script fra php.net:
<?php
/* recipients */
$to  = "mary@example.com" . ", " ; // note the comma
$to .= "kelly@example.com";

/* subject */
$subject = "Birthday Reminders for August";

/* message */
$message = '
<html>
<head>
<title>Birthday Reminders for August</title>
</head>
<body>
<p>Here are the birthdays upcoming in August!</p>
<table>
<tr>
  <th>Person</th><th>Day</th><th>Month</th><th>Year</th>
</tr>
<tr>
  <td>Joe</td><td>3rd</td><td>August</td><td>1970</td>
</tr>
<tr>
  <td>Sally</td><td>17th</td><td>August</td><td>1973</td>
</tr>
</table>
</body>
</html>
';

/* To send HTML mail, you can set the Content-type header. */
$headers  = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";

/* additional headers */
$headers .= "To: Mary <mary@example.com>, Kelly <kelly@example.com>\r\n";
$headers .= "From: Birthday Reminder <birthday@example.com>\r\n";
$headers .= "Cc: birthdayarchive@example.com\r\n";
$headers .= "Bcc: birthdaycheck@example.com\r\n";

/* and now mail it */
mail($to, $subject, $message, $headers);
?>

3) hentet fra webcafe.dk

5. Jeg bruger PHP på en Windows-maskine. Hvad skal jeg gøre for at kunne sende Mail via PHP?

    Du skal have fat i din php-ini-fil, som findes i Windows-biblioteket. Hvis du bruger PHP3-hedder den php3.ini, for PHP4 hedder den php.ini. (F.eks c:windows/php3.ini eller c:/windows/php.ini).

    Åben den, og søg efter [mail function], til du finder det sted i filen der ser ud ala:

[mail function]
SMTP          =  ;for win32 only
sendmail_from =  ;for win32 only
sendmail_path =  ;for unix only, (bla. bla....)

    Her er der tre ting der skal ændres:

        * Du skal angive en SMTP-host. (Den samme som du har sat dit almindelige mail-program op til at bruge, f.eks "mail1.stofanet.dk")
        * Du skal angive din mail adresse (F.eks "dig@ditsted.dk")
        * Du skal udkommentere linjen der starter med "sendmail_path" . (Sæt et semikolon forrest i den pågældende linje)

    Når du har gjort det, kommer din fil til at ligne dette:

[mail function]
SMTP          =  mail1.stofanet.dk ;for win32 only
sendmail_from =  dig@ditsted.dk ;for win32 only
;sendmail_path =  ;for unix only, (bla. bla....)

    Gem så filen, og du er klar til at sende mail via PHP. For at være sikker på at det virker, skal du dog huske altid at angive din email-adresse i From-feltet, som det er beskrevet i vores artikel om mail via PHP

Håber det kan hjælpe dig på vej.....
Avatar billede telly Nybegynder
23. juni 2005 - 16:33 #2
Jeg har prøvet at sætte det script ind du har givet mig og sat SMTP i php.ini til mail1.stofanet.dk, men jeg får følgende fejl ved test af script:

Warning: mail(): SMTP server response: 550 relay not permitted in D:\Webserver\test\mail2.php on line 43

Jeg har lavet en "telnet mail1.stofanet.dk 25" for at se om der var hul igennem og det var der.
Avatar billede telly Nybegynder
23. juni 2005 - 16:34 #3
aaaah dumme mig...550 fejl betyder jo at webserveren ikke modtager mails som ikke er "lokale"
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