Avatar billede gf Nybegynder
08. marts 2006 - 14:43 Der er 17 kommentarer og
1 løsning

Mail og smtp server

Hej jeg kan nu sende mails uden problemer. når blot jeg mail() Mit problem er, at jeg skal sende post og bruge en server der kræver smtp Authentication. Hvordan klarer jeg den?

mvh gf
Avatar billede coderdk Praktikant
08. marts 2006 - 17:03 #1
Avatar billede gf Nybegynder
09. marts 2006 - 17:48 #2
Super, det virker optimalt.

læg gerne et svar.

Mvh gf
Avatar billede coderdk Praktikant
09. marts 2006 - 18:56 #3
Yessir :)
Avatar billede gf Nybegynder
09. marts 2006 - 18:59 #4
Hej

Jeg sidde lige og rode med at vedhæfte en fil, jeg anvender et file field så brugeren kan vælge en fil at vedhæfte, men den bliver desværre ikke vedhæftet. Kan du komme med et hint?

$mail->AddAttachment($_FILES["file"]);      // attachment

det er phpmailer
Avatar billede coderdk Praktikant
09. marts 2006 - 19:01 #5
Prøv:

$mail->AddAttachment($_FILES["file"]['tmp_file']);
Avatar billede gf Nybegynder
09. marts 2006 - 19:06 #6
Det virker desværre heller ikke.

mvh gf
Avatar billede coderdk Praktikant
09. marts 2006 - 19:11 #7
Får du nogen fejl? Er din server i safe mode?

Prøv at indsætte før:

if ( !is_uploaded_file( $_FILES['file']['tmp_file'] ) )
{
  echo "Der er ikke uploadet en fil";
}
else
{
  $mail->AddAttachment($_FILES["file"]['tmp_file']);
}

Er din server i safe mode, skal du flytte den før du kan gøre det. Brug move_uploaded_file( $_FILES['file']['tmp_file'], $nytnavn ); hvor nytnavn er en fil der placeres et sted hvor webserveren har lov at skrive (evt. et bibliotek hvor du har lavet chmod til 777).
Avatar billede gf Nybegynder
09. marts 2006 - 19:13 #8
Hej

jeg kan fint vedhæfte hvis jeg skriver hvilken fil der skal hentes. f. eks
$mail->AddAttachment("test.txt"]);

mvh gf
Avatar billede coderdk Praktikant
09. marts 2006 - 19:15 #9
Ja, men hvis serveren er i safe mode, så har du ikke lov at tilgå den midlertidige upload-fil med andet end is_uploaded_file og move_uploaded_file. Derfor skal den flyttes hvis serveren er i safe mode.
Avatar billede gf Nybegynder
09. marts 2006 - 19:16 #10
jeg får ingen fejl overhovedet.


min mailtest.php fil

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Untitled Document</title>
</head>

<body>
<form action="mailtest1.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
  vadhaeft
  <input type="file" name="file" />
  <input type="submit" name="Submit" value="Submit" />
</form>
</body>
</html>

mailtest1.php

<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->IsSMTP();                                  // send via SMTP
$mail->Host    = "xxxx.xxxx.dk"; // SMTP servers
$mail->SMTPAuth = true;    // turn on SMTP authentication
$mail->Username = "";  // SMTP username
$mail->Password = ""; // SMTP password

$mail->From    = "peter@test.dk";
$mail->FromName = "afsender navn";
$mail->AddAddress("xxxx@lxxxx.dk","Modtager navn");
$mail->AddReplyTo("info@site.com","Information");

$mail->WordWrap = 50;                              // set word wrap
$mail->AddAttachment($_FILES['file']['tmp_file']);
$mail->IsHTML(False);                              // send as HTML

$mail->Subject  =  "Dette er emne linien";
$mail->Body    =  "Dette er selve teksten";

if(!$mail->Send())
{
  echo "Din meddelese er sendt <p>";
  echo "Mailer Error: " . $mail->ErrorInfo;
  exit;
}

echo "Mdin meddelelse er sendt";
?>
Avatar billede gf Nybegynder
09. marts 2006 - 19:19 #11
Hej igen serveren er ikke i safe mode.

mvh gf
Avatar billede coderdk Praktikant
09. marts 2006 - 19:22 #12
Prøv at oprette en folder med navnet "ud" samme sted som scriptet ligger og chmod den til 777, i stedet for din addattachment indsæt:

if ( !is_uploaded_file( $_FILES['file']['tmp_file'] ) )
{
  echo "<p>Der er ikke uploadet en fil</p>";
}
else
{
  $tmpnavn = tempnam( "ud", "upl_tmp_" );
  if ( move_uploaded_file( $_FILES['file']['tmp_file'], $tmpnavn ) )
  {
    $mail->AddAttachment($tmpnavn);
  }
  else
  {
    echo "<p>Kunne ikke flytte den uploadede fil.</p>";
  }
}
Avatar billede gf Nybegynder
09. marts 2006 - 19:34 #13
Hej igen

jeg får meddelelsen: Der er ikke uploadet en fil

mvh gf
Avatar billede coderdk Praktikant
09. marts 2006 - 19:35 #14
Så er der ikke uploadet en fil :)

Har du husket enctype="multipart/form-data" i din <form> ?
Avatar billede coderdk Praktikant
09. marts 2006 - 19:36 #15
Erh, ja, det kan jeg jo se at du har :)
Avatar billede coderdk Praktikant
09. marts 2006 - 19:36 #16
Prøv lige at lave navnet om fra "file" til "usrFile" f.eks. og ret det alle steder...
Avatar billede gf Nybegynder
09. marts 2006 - 20:07 #17
Hej igen

så fik jeg det til, at lykkedes. Til andre brugere følgende virker.

  $mail->AddAttachment($_FILES["file"]['tmp_file']); rettes til :


$mail->AddAttachment($_FILES['file']['tmp_name'], $_FILES['file']['name']);

coderdk du må undskylde, at jeg har misbrugt din tid.

mvh gf
Avatar billede coderdk Praktikant
09. marts 2006 - 20:08 #18
Det er ok :)
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