Avatar billede hoplaringen Nybegynder
11. januar 2012 - 11:29 Der er 20 kommentarer og
1 løsning

Simpel mail formular

Hej Eksperter.

Jeg prøver at få følgende script til at virke på et webhotel fra one.com.
Det er testet og virker på et webhotel hos dandomain. Men (som jeg forstår det) nye regler hos one gør at man skal inkludere SMTP oplysninger for at sende mails via en hjemmeside hos One.com.

Hvordan inkludere jeg disse SMTP oplysninger korrekt? mailout.one.com
One oplyser flgl. https://www.one.com/da/support/faq/kan-jeg-sende-mails-fra-min-webside

Jeg bruger dette script til at sende med;

<?php
$msg .= "Navn:            $navn\n";
$msg .= "Adresse:        $adresse\n";
$msg .= "Postnr:        $_POST[postnr]\n";
$msg .= "By:              $by\n";
$recipient = "mail@mail.dk";
$subject = "subject";
$mailheaders = "Header \n";
$mailheaders .= "Reply-To: $_POST[mail]";
mail($recipient, "$subject", $msg, $mailheaders);
?>

Håber I kan hjælpe.

Mvh
Peder
Avatar billede hoplaringen Nybegynder
11. januar 2012 - 12:57 #2
Hej Claes.

Tak for link.
Jeg fandt godt det link og har prøvet at få det til at virke. Uden held.
Kan du implementere det i mit script?

Mvh
Peder
Avatar billede claes57 Ekspert
11. januar 2012 - 13:13 #3
ret de 3 linjer, der starter med * (og fjern *)


<?php
require_once "Mail.php";

* $from = "Sandra Sender <sender@example.com>";
$to = "mail@mail.dk";
$subject = "subject";
$body .= "Navn:            $navn\n";
$body .= "Adresse:        $adresse\n";
$body .= "Postnr:        $_POST[postnr]\n";
$body .= "By:              $by\n";

$host = "mailout.one.com";
* $username = "smtp_username";
* $password = "smtp_password";

$headers = array ('From' => $from,
  'To' => $to,
  'Subject' => $subject);
$smtp = Mail::factory('smtp',
  array ('host' => $host,
    'auth' => true,
    'username' => $username,
    'password' => $password));

$mail = $smtp->send($to, $headers, $body);

if (PEAR::isError($mail)) {
  echo("<p>" . $mail->getMessage() . "</p>");
  } else {
  echo("<p>Beskeden er sendt.</p>");
  }
?>
Avatar billede hoplaringen Nybegynder
11. januar 2012 - 13:41 #4
Tak for svar.
Jeg får dog fejl:

authentication failure [SMTP: SMTP server does not support authentication (code: 250, response: mail-out2.b-one.net PIPELINING SIZE 20480000 ETRN ENHANCEDSTATUSCODES 8BITMIME DSN)]

One´s support siger at der ikke er krævet brugernavn og password. Men at man skal bruge port25 og at modtageren skal være en mail fra domænet tilknyttet webhotellet.

Jeg har prøvet at lade user og pass stå blanke uden held.

Kan du hjælpe?
Avatar billede claes57 Ekspert
11. januar 2012 - 14:30 #5
så kan one.com da kun bruges til at sende en 'kontakt mig' mail til sig selv, og ikke til at sende ud 'i byen' (fx nyhedsbreve).

$to = "mail@mail.dk";
det skal så være en mailkonto, der findes på dit domæne - vedr port25, så har jeg ingen idé om, hvor det sættes. Prøv manualen http://pear.php.net/package/Mail/docs
Avatar billede hoplaringen Nybegynder
11. januar 2012 - 14:39 #6
Claes. Takker for hjælpen.
Du må gerne svare så får du points for hjælpen.
Tror jeg prøver at ligge formularen på et andet webhotel og hente den ind via en iframe.....
Avatar billede claes57 Ekspert
11. januar 2012 - 14:43 #7
bare luk selv...
Avatar billede moddi100 Seniormester
11. januar 2012 - 18:18 #8
Mon ikke de mener at afsender skal være oprettet på deres domæne?

Det har jeg i hvert fald fået til at virke hos dem før, hvor modtager ikke var hos dem.
Avatar billede olebole Juniormester
11. januar 2012 - 18:28 #9
<ole>

@moddi100: Det lyder yderst fornuftigt. Hvis bare alle udbydere havde samme tilgang til afsendelse af mails!  *o)

/mvh
</bole>
Avatar billede moddi100 Seniormester
11. januar 2012 - 19:39 #10
@olebole: Ja det kan man kun håbe på engang sker :)

@hoplaringen: Hvad bruger du som afsender og har du oprettet den konto i deres kontrolpanel?
Avatar billede claes57 Ekspert
11. januar 2012 - 20:28 #11
jf #3, så skulle den jo være rettet til noget valid...
Og one.com burde da kende forskel på modtager og afsender - selv på udenlandsk...
Avatar billede olebole Juniormester
11. januar 2012 - 21:04 #12
@claes57: De kan sikkert kende forskel, men vi ved heller intet om, hvad de faktisk har skrevet. Vi har kun (undskyld udtrykket) 'et løst rygte' at tale om  =)
Avatar billede hoplaringen Nybegynder
11. januar 2012 - 22:29 #13
Ahh, måske er det afsenderen, der skal ændres.
Jeg har oprettet konto og prøvet at sende til den mailadresse. det hjalp ikke noget.
Men jeg prøver at ændre afsenderen til den på domænet.
Avatar billede moddi100 Seniormester
12. januar 2012 - 09:41 #14
#13:  Det er også lige præcis hvad du skal gøre. Det er afsender som skal være oprettet, da det kan være med til at forhindre spam.
Avatar billede hoplaringen Nybegynder
12. januar 2012 - 09:54 #15
Jeg har prøvet men får stadig fejl:
authentication failure [SMTP: SMTP server does not support authentication (code: 250, response: mail-out1.b-one.net PIPELINING SIZE 20480000 ETRN ENHANCEDSTATUSCODES 8BITMIME DSN)]

Jeg bruger dette script.

<?php
require_once "Mail.php";
$from = "mail på webhotel";
$to = "mail på webhotel";
$subject = "subject";
$body .= "Navn:            $navn\n";
$body .= "Adresse:        $adresse\n";
$body .= "Postnr:        $_POST[postnr]\n";
$body .= "By:              $by\n";
$host = "mailout.one.com";
$Username = "";
$Password = "";
$headers = array ('From' => $from,
'To' => $to,
'Subject' => $subject);
$smtp = Mail::factory('smtp',
array ('host' => $host,
'auth' => true,
'username' => $username,
'password' => $password));
$mail = $smtp->send($to, $headers, $body);               
if (PEAR::isError($mail)) {
echo("<p>" . $mail->getMessage() . "</p>");
} else {
echo("<p>Beskeden er sendt.</p>");
}
?>

Jeg er meget i tvivl om havd jeg skal gøre med username og password.
Jeg har prøvet med de koder jeg har til webhotellet. Uden held.
Jeg er også undrende over hvordan jeg beder den bruge port 25.

Desuden har jeg ingen fil som hedder Mail.php.

Jeg takker for interessen og håber i kan hjælpe mig i mål.
Mvh
Peder
Avatar billede moddi100 Seniormester
12. januar 2012 - 10:20 #16
Ændrer følgende linje:

'auth' => true,

til:

'auth' => false,
Avatar billede hoplaringen Nybegynder
12. januar 2012 - 10:41 #17
Det tog fejlbeskeden. Men jeg modtager ingen mail....
Avatar billede hoplaringen Nybegynder
12. januar 2012 - 10:43 #18
Sorry, den kom nu.
Den skal både sende fra og til en adresse på webhoellet.

Fixet.
Der er jo mange der fortjener nogle points her.
Så dem der vil ha, de kan give et svar, så fordeler jeg.
Rigtig mange tak for hjælpen. I er sku søde :-)

Mvh
Peder
Avatar billede claes57 Ekspert
12. januar 2012 - 11:11 #19
bare hold mig ude - moddi100 fandt ud af at afkode fejlen...
Avatar billede moddi100 Seniormester
12. januar 2012 - 12:27 #20
Mon ikke det også virker, hvis du ændrer modtageren?

$from = "mail på webhotel";
$to = "ekstern@gmail.com";

Det andet er i hvert fald ret ubrugeligt
Avatar billede olebole Juniormester
26. januar 2012 - 16:28 #21
@moddi100: Jo, naturligvis  *o)
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