Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Mailproblemer

4 views
Skip to first unread message

Kurt G

unread,
Jan 11, 2013, 3:50:45 AM1/11/13
to
Jeg vil gerne benytte mail til at sende oplysninger fra en formular videre.

$mailstreng indeholder resultaterne fra formularerne.
Jeg sender oplysningerne fra formularen til indehaveren af sitet s�ledes:
mail("ma...@mitdomain.dk","Fra hjemmesiden",$mailstreng);
Det g�r fint.

Et af felterne i formularen indeholder kundens e-mail, s� han kan f� en kopi
af det, som han har indtastet i formularen. Dette felts indhold er i
$e_mail.

Nu vil jeg sende kopien videre til kunden ved at skrive:
mail($e_mail,"Kvittering",$mailstreng);
Denne mail n�r aldrig frem, men der kommer heller ikke nogen fejlmeldinger.

Kan man via funktionen mail() kun sende mail til adresser, som h�rer under
det domain, hvor PHP k�rer.
Alts� i det her tilf�lde mitdomain.dk?

Mvh Kurt

Birger Sørensen

unread,
Jan 11, 2013, 4:34:29 AM1/11/13
to
Kurt G tastede fᅵlgende:
> Jeg vil gerne benytte mail til at sende oplysninger fra en formular videre.
>
> $mailstreng indeholder resultaterne fra formularerne.
> Jeg sender oplysningerne fra formularen til indehaveren af sitet sᅵledes:
> mail("ma...@mitdomain.dk","Fra hjemmesiden",$mailstreng);
> Det gᅵr fint.
>
> Et af felterne i formularen indeholder kundens e-mail, sᅵ han kan fᅵ en kopi
> af det, som han har indtastet i formularen. Dette felts indhold er i $e_mail.
>
> Nu vil jeg sende kopien videre til kunden ved at skrive:
> mail($e_mail,"Kvittering",$mailstreng);
> Denne mail nᅵr aldrig frem, men der kommer heller ikke nogen fejlmeldinger.
>
> Kan man via funktionen mail() kun sende mail til adresser, som hᅵrer under
> det domain, hvor PHP kᅵrer.
> Altsᅵ i det her tilfᅵlde mitdomain.dk?
>
> Mvh Kurt

Mange udbydere blokerer email, der ikke kommer fra domᅵnet der sender
dem.
Der er et felt i email headere, der hedder FROM:, der ikke sᅵttes
automatisk af mail() - prᅵv at sᅵtte det til f.eks hostmaster eller
postmaster for domᅵnet (adressen skal sᅵ selvfᅵlgelig eksistere).

Se ogsᅵ dokumentationen
http://dk1.php.net/manual/en/function.mail.php
hvor der ogsᅵ er beskrivelse af, hvordan du tilfᅵjer den/de ekstra
headere.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
Utils http://sdccms.dk/ordbog/ http://sdccms.dk/mailfriend/
http://bredelund.dk CMS som det var meningen et sᅵdant skulle vᅵre


Kurt G

unread,
Jan 11, 2013, 5:34:05 AM1/11/13
to
"Birger Sørensen" skrev i meddelelsen
news:50efdcad$0$292$1472...@news.sunsite.dk...

Kurt G tastede følgende:
> Jeg vil gerne benytte mail til at sende oplysninger fra en formular
> videre.
>
> $mailstreng indeholder resultaterne fra formularerne.
> Jeg sender oplysningerne fra formularen til indehaveren af sitet således:
> mail("ma...@mitdomain.dk","Fra hjemmesiden",$mailstreng);
> Det går fint.
>
> Et af felterne i formularen indeholder kundens e-mail, så han kan få en
> kopi af det, som han har indtastet i formularen. Dette felts indhold er i
> $e_mail.
>
> Nu vil jeg sende kopien videre til kunden ved at skrive:
> mail($e_mail,"Kvittering",$mailstreng);
> Denne mail når aldrig frem, men der kommer heller ikke nogen
> fejlmeldinger.
>
> Kan man via funktionen mail() kun sende mail til adresser, som hører under
> det domain, hvor PHP kører.
> Altså i det her tilfælde mitdomain.dk?
>
> Mvh Kurt

Mange udbydere blokerer email, der ikke kommer fra domænet der sender
dem.
Der er et felt i email headere, der hedder FROM:, der ikke sættes
automatisk af mail() - prøv at sætte det til f.eks hostmaster eller
postmaster for domænet (adressen skal så selvfølgelig eksistere).

Se også dokumentationen
http://dk1.php.net/manual/en/function.mail.php
hvor der også er beskrivelse af, hvordan du tilføjer den/de ekstra
headere.

Birger

--------------------------------------------------------------------
Tak for rådet, Birger, det hjalp med en header med et FROM-felt.
Mvh Kurt


scootergrisen

unread,
Jan 11, 2013, 6:08:40 AM1/11/13
to
Den 11-01-2013 09:50, Kurt G skrev:
> Jeg vil gerne benytte mail til at sende oplysninger fra en formular videre.
>
> $mailstreng indeholder resultaterne fra formularerne.
> Jeg sender oplysningerne fra formularen til indehaveren af sitet således:
> mail("ma...@mitdomain.dk","Fra hjemmesiden",$mailstreng);
> Det går fint.
>
> Et af felterne i formularen indeholder kundens e-mail, så han kan få en
> kopi af det, som han har indtastet i formularen. Dette felts indhold er
> i $e_mail.
>
> Nu vil jeg sende kopien videre til kunden ved at skrive:
> mail($e_mail,"Kvittering",$mailstreng);
> Denne mail når aldrig frem, men der kommer heller ikke nogen fejlmeldinger.
>
> Kan man via funktionen mail() kun sende mail til adresser, som hører
> under det domain, hvor PHP kører.
> Altså i det her tilfælde mitdomain.dk?
>
> Mvh Kurt

I stedet for at bruge mail() to gange så kan du bruge CC eller BCC i
headeren hvis du vil sende samme email til flere adresser.

headeren er parameter 4 i mail().

---

// Additional headers
$headers .= 'To: Mary <ma...@example.com>, Kelly <ke...@example.com>' .
"\r\n";
$headers .= 'From: Birthday Reminder <birt...@example.com>' . "\r\n";
$headers .= 'Cc: birthda...@example.com' . "\r\n";
$headers .= 'Bcc: birthd...@example.com' . "\r\n";

// Mail it
mail($to, $subject, $message, $headers);

Birger Sørensen

unread,
Jan 11, 2013, 6:35:35 AM1/11/13
to
scootergrisen sendte dette med sin computer:
8X
> I stedet for at bruge mail() to gange så kan du bruge CC eller BCC i headeren
> hvis du vil sende samme email til flere adresser.
8X

Ikke når emnet ikke er det samme...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
Utils http://sdccms.dk/ordbog/ http://sdccms.dk/mailfriend/
http://bredelund.dk CMS som det var meningen et sådant skulle være


scootergrisen

unread,
Jan 11, 2013, 6:46:08 AM1/11/13
to
>> I stedet for at bruge mail() to gange så kan du bruge CC eller BCC i
>> headeren hvis du vil sende samme email til flere adresser.
>
> Ikke når emnet ikke er det samme...

Ok men det kunne man måske leve med at emnet er det samme.

Ellers prøv og byt om på den første og anden mail() og se om det så
forholdet sig omvendt.

Og test om mail() returner false som betyder at emailen ikke blev sendt.

Birger Sørensen

unread,
Jan 11, 2013, 9:59:36 AM1/11/13
to
Efter mange tanker skrev scootergrisen:
Det er da rigtigt, at der kan spares en linie eller tre.
Mailserveren - den som mail() snakker med - sender alligevel separate
email til hver af modtagerne.
Så der er ikke rigtigt nogen grund til at gå på kompromis med
opsætningen af de email man ønsker at sende.

Martin

unread,
Jan 12, 2013, 3:15:04 AM1/12/13
to
On 11-01-2013 12:46, scootergrisen wrote:
>>> I stedet for at bruge mail() to gange sᅵ kan du bruge CC eller BCC i
>>> headeren hvis du vil sende samme email til flere adresser.
>>
>> Ikke nᅵr emnet ikke er det samme...
>
> Ok men det kunne man mᅵske leve med at emnet er det samme.
>
> Ellers prᅵv og byt om pᅵ den fᅵrste og anden mail() og se om det sᅵ
> forholdet sig omvendt.
>
> Og test om mail() returner false som betyder at emailen ikke blev sendt.

mail() sender false hvis PHP ikke kan "oprette" mailen med afsender
maskinen (normalt sendmail eller en SMTP, alt afhᅵngig af hvad der er
sat op i php.ini)

Hvis mailen kommer i kᅵ hos afsendermaskinen, sᅵ sender PHP true retur.

Dermed er det IKKE sagt at mailen overhovedet bliver sendt, faktisk kan
man skrive mail('','','') og stadig fᅵ true.

Det er kun hvis PHP ikke er sat ordentligt op at man fᅵr false pᅵ denne.

Mails der ikke modtages, er ret ofte TXT dns record der ikke er sat,
rigtig mange Exchange (mail) servere, @live.com og andre Microsoft
tjenester laver et sᅵkaldt relay lookup pᅵ afsender emailen og
IP-adressen, for at se om domᅵnet eksisterer og det ikke bare er en
tilfᅵldig mail der bliver sendt ud.

Ellers kunne man jo bare skrive
mail('t...@mail.example', 'subject', 'phishing mail', 'From:
most...@gmail.com');

ogsᅵ vil modtageren jo tro at det er mosteroda der har sendt mailen.

For at gᅵre alt dette nemmere, sᅵ bruger jeg swiftmailer, og gerne med
SMTP transporter, sᅵ kan jeg nemlig tjekke om mailen faktisk bliver
korrekt sendt, og den ikke bare bliver relayet tilbage.

$transport = Swift_SmtpTransport::newInstance('smtp.example.org', 25);
$mailer = Swift_Mailer::newInstance($transport);

$message = Swift_Message::newInstance('Wonderful Subject')
->setFrom(array('jo...@doe.com' => 'John Doe'))
->setTo(array('rece...@domain.org', 'ot...@domain.org' => 'A name'))
->setBody('Here is the message itself');

if (!$mailer->send($message, $fails)) {
print_r($fails);
}
0 new messages