php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Mail per klick auf button senden?


 
myworld
30-05-2015, 14:13 
 
Hallo ich habe ein Problem mit meinem Mail Code und zwar sendet er die mail nicht. Aber wenn ich bei Empfänger händisch eine Mail schreibe sendet er die mail diese sieht aber dann so aus:

Imgur (http://imgur.com/ZQ7SjXG)

Code:


<?php

require_once "db.inc.php";
require_once "redirect.inc.php";

$conn = new mysqli($DB_server, $DB_user, $DB_password, $DB_name);

if(isset($_GET["Hinzufügen"]))
{
$svnr = $_GET["Hinzufügen"];

$arztname = $_SESSION['nachname'];
$empfaenger = "SELECT p_email FROM p_patient WHERE p_svnr='$svnr' ";
$name = "SELECT p_nachname FROM p_patient WHERE p_svnr='$svnr'";
$anrede = "SELECT p_anrede FROM p_patient WHERE p_svnr='$svnr'";
$betreff = "Neue Medikation";
$from = "From: $arztname";

if($anrede=="Frau")
{
$text1 = "geehrte";
}
else {
$text1="geehreter";
}
$text = "Sehr '$text1' '$anrede' '$name',\n Ihre aktuelle Medikation ist nun online. \n Mit freundlichen Grüßen Doktor '$arztname'";

mail($empfaenger, $betreff, $text, $from);
}
?>

Danke!

 
h3ll
30-05-2015, 14:28 
 
mail() sollte nicht verwendet werden.

Verwende stattdessen eine Mailer-Klasse wie zB. PHPMailer.

 
myworld
30-05-2015, 14:34 
 
soll ich also statt mail(...) phpmailer(...) schreiben oder noch etwas verändern ?


Danke!

 
h3ll
30-05-2015, 14:37 
 
Hier bekommt man den PHPMailer inkl. Doku und Beispiele:

https://github.com/Synchro/PHPMailer

 
myworld
30-05-2015, 14:54 
 
wo kann ich da ein sql statemant eingeben ?


<?php
require 'phpmailer/PHPMailerAutoload.php';

$mail = new PHPMailer;

//$mail->SMTPDebug = 3; // Enable verbose debug output

$mail->isSMTP(); // Set mailer to use SMTP
$mail->Host = 'smtp.comcast.net'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'user@example.com'; // SMTP username
$mail->Password = 'secret'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to

$mail->From = 'from@example.com';
$mail->FromName = 'Mailer';
$mail->addAddress =('joe@example.net', 'Joe User'); // Add a recipient
$mail->addAddress('ellen@example.com'); // Name is optional
$mail->addReplyTo('info@example.com', 'Information');
$mail->addCC('cc@example.com');
$mail->addBCC('bcc@example.com');

$mail->addAttachment('/var/tmp/file.tar.gz'); // Add attachments
$mail->addAttachment('/tmp/image.jpg', 'new.jpg'); // Optional name
$mail->isHTML(true); // Set email format to HTML

$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';

if(!$mail->send()) {
echo 'Message could not be sent.';
echo 'Mailer Error: ' . $mail->ErrorInfo;
} else {
echo 'Message has been sent';
}
?>

Danke!

 
h3ll
30-05-2015, 14:56 
 
wo kann ich da ein sql statemant eingeben ?

Wo du willst. Das hat ja mit dem Mailer nichts zu tun.

 
myworld
30-05-2015, 14:59 
 
Ja aber schau dir mein ersten code nochmal an ich will die email aus der mysql datenbank herauslesen das funktioniert aber nicht. Also müsste ich auch hier beim Mail die mysql statemants eingeben

Danke!

 
h3ll
30-05-2015, 15:05 
 
Ja aber schau dir mein ersten code nochmal an ich will die email aus der mysql datenbank herauslesen das funktioniert aber nicht.

Was funktioniert nicht? Das Auslesen aus der Datenbank oder der Mail-Versand?

 
myworld
30-05-2015, 15:07 
 
Das Auslesen aus der Datenbank habe beim ersten Post ein Bild hinzugefügt

Danke!

 
h3ll
30-05-2015, 15:51 
 
Das ergibt von vorne bis hinten keinen Sinn.

zB. $name enthält SQL-Code und keinen Namen.

Irgendwie hab ich das Gefühl, dass du keine Ahnung hast, was du da überhaupt machst. Bitte hole die Grundlagen nach. Ohne Grundlagenwissen, wird das einfach nur ein Gewurstel mit vermutlich zweifelhaftem Ergebnis.

 
myworld
30-05-2015, 15:55 
 
Das ergibt von vorne bis hinten keinen Sinn.

zB. $name enthält SQL-Code und keinen Namen.

Irgendwie hab ich das Gefühl, dass du keine Ahnung hast, was du da überhaupt machst. Bitte hole die Grundlagen nach. Ohne Grundlagenwissen, wird das einfach nur ein Gewurstel mit vermutlich zweifelhaftem Ergebnis.

ahh $name sollte SQL-Code enthalten. Es wird alles aus der Datenbank abgelesen ich will ja nicht nur einen ansprechen. Oder darf man hier keinen sql code einfügen?

 
h3ll
30-05-2015, 15:56 
 
ahh $name sollte SQL-Code enthalten. Es wird alles aus der Datenbank abgelesen ich will ja nicht nur einen ansprechen.

Nein, $name sollte einen Namen enthalten, den du aus der Datenbank ausgelesen hast. Wie gesagt: Grundlagen lernen.

 
myworld
30-05-2015, 16:01 
 
Ok werde mir nochmal die Grunlagen anschauen.
Aber wenn man einen namen von der datenbank ausliest spricht man nur einer person an oder?

 
h3ll
30-05-2015, 16:02 
 
Ok werde mir nochmal die Grunlagen anschauen.
Aber wenn man einen namen von der datenbank ausliest spricht man nur einer person an oder?

Wenn du mehrere auslesen möchtest, brauchst du eine Schleife.

 
myworld
30-05-2015, 16:08 
 
Ich glaub ich habe mich nicht ganz so verständlich ausgedrückt. Ich versuche es nochmal. Ich habe viele Patienten, und ich will beim erfassen der Medikation einen bestimmten Patienten eine mail senden mit der nachricht , dass die aktuelle Medikationnun online ist. So was würde meines Wissens nicht mit einer Schleife gehen, deshalb das auslesen aus der Datenbank

-archiv-

Alle Zeitangaben in WEZ +2. Es ist jetzt 06:56 Uhr.