Avatar billede tcp Nybegynder
09. juni 2011 - 23:50 Der er 2 kommentarer og
1 løsning

Hjælp til mail form smtp

Hej eksperten

Sidder og skal have en mail form til at virke

den køre med Swiftmailer og google apps konto

Problemet er afsender når det er over smtp...
altid bliver min egen

Kan jeg lave om på det ?

og hvis ikke hvordan får jeg så afsenderadressen ind som en del af mailens indhold ?

Kode:


// mailer intance
$mailer = Swift_Mailer::newInstance($smtpauth);

$to = "xxx@xxxx.dk";
$subject = $_POST['subject'];
$message = $_POST['message'];
$fromemail = $_POST['fromemail'];
$fromname = $_POST['fromname'];

// composing message
$compose = Swift_Message::newInstance($subject)
->setFrom($fromemail)
->setTo(array($to => 'Friends'))
->setBody($message);

// sending mail
$mail_status = $mailer->send($compose);

$location = $PHP_SELF."?msg=Mail_Sent!";
header("Location: $location");

exit();



Mvh Martin
Avatar billede majbom Novice
10. juni 2011 - 08:45 #1
bruger du ikke din egen email-adresse, til at få adgang til SMTP-serveren?
Avatar billede tcp Nybegynder
11. juni 2011 - 11:16 #2
Jo det gør jeg, og sender mailen til samme adresse igen...


så det er vil ikke muligt at fake afsenderen, så bruger indput bliver afsender af mailen


Mvh martin
Avatar billede tcp Nybegynder
12. juni 2011 - 13:06 #3
Fandt svaret, man kan indsættet en setReplyTo.

Så løser den problemet

                                            // mailer intance
                                            $mailer = Swift_Mailer::newInstance($smtpauth);
                                            // composing message
                                            $compose = Swift_Message::newInstance($subject)
                                            ->setFrom(array($fromemail => 'John Doe'))
                                            ->setTo(array($to => 'Friends'))
                                            ->setReplyTo($fromemail)
                                            ->setBody($message);
                                           
                                            // sending mail

                                            $mail_status = $mailer->send($compose);
                                            $location = $PHP_SELF."?msg=Mail_Sent!";
                                            header("Location: $location");
                                            exit();
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

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