(PHP) Mailversand

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
Hallo, wie kann ich es anstellen das der Mailversender einen von mir eingestellten Alias verwendet? (z.b. anstatt anonymus@....)
Ich habe es über $absender versucht aber das geht irgendwie nicht.

Zweite Aufgabe ist das die Mail nur an die jeweils Zuständigen des Beitrages versendet wird. Es soll alo in der DB nachgeschaut werden ob $zustaendig_1, $zustaendig_2, $zustaendig_3, $zustaendig_4 einen Inhalt haben und wenn ja soll in der DB unter User die mailadresse hergenommen werden. Kann mir dabei jemand helfen?

Hier mal das Script vom Mailversand:

//automatisch Mailversand wenn eine Änderung oder ein neuer Beitrag erstellt wurde an alle User in DB
mysql_select_db("lohi_marketing");
$sql = "SELECT * FROM users";
$result = mysql_db_query($db, $sql);

$absender = 'From: ' . "\r\n" ;
$nachricht = $kommentare;
$nachricht = wordwrap($nachricht, 70);
$hint = "Diese Benachrichtigungsmail wurde automatisch versand - Bitte nicht darauf antworten!";

$row=0;
while ($usermail=mysql_result($result, $row, "usermail"))
{
mail($usermail, "Marketing Aufgabendefinition - Kommentar von $userkennung zum Beitrag: $betreff", $hint, $nachricht);
$row++;
}
//mailversand ende


Im Anhang habe ich mal den ganzen Code hochgeladen.
 
Zuletzt bearbeitet:

.holger

Borowitzky
Registriert
13.09.04
Beiträge
8.970
mail(Empfängeremail, Betreff, Nachricht, "From: Absender <Absenderemail>");
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
mail(Empfängeremail, Betreff, Nachricht, "From: Absender <Absenderemail>");

Danke! Hab es versuch folgendermaßen um zusetzen:

mail($usermail, "Marketing Aufgabendefinition - Kommentar von $userkennung zum Beitrag: $betreff", $hint, $nachricht, "From: Absender <[email protected]>");

Klappt aber leider so nicht.
 

torben1

Weisser Rosenapfel
Registriert
05.08.08
Beiträge
795
Ich denke das liegt daran das Deine Parameter nicht Stimmen (Anzahl/Reihenfolge). Was steckt in $hint?

Torben
 

MaxiMillion

Granny Smith
Registriert
13.07.09
Beiträge
15
und zum zweiten problem: (insofern ich es richtig verstanden habe...)

while ($usermail=mysql_fetch_array($result))
{
if($usermail["zustaendigkeit_1"] <> '' OR $usermail["zustaendigkeit_2"] <> '' OR $usermail ["zustaendigkeit_3"] <> ''){
mail($usermail["email"], "Marketing Aufgabendefinition - Kommentar von ".$userkennung." zum Beitrag: ".$betreff."", $nachricht, "From: Absender <Absenderemail>");
}
}
Rotes musst du natürlich durch die entsprechenden Tabellenfeldnamen ersetzen. ;) Weiß ja nich wie deine Tabellenstruktur aussieht.

Achja... $hint muss raus ;) Dann klappts auch mit dem Versand.

[EDIT]
Wenn du $hint trotzdem am Ende der Nachricht haben willst, änder deinen Code einfach folgendermaßen:

$nachricht = $kommentare;
$nachricht = wordwrap($nachricht, 70);
$nachricht .= "\n\nDiese Benachrichtigungsmail wurde automatisch versand - Bitte nicht darauf antworten!";
[/EDIT]
 
Zuletzt bearbeitet:

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
und zum zweiten problem: (insofern ich es richtig verstanden habe...)

while ($usermail=mysql_result($result, $row, "usermail"))
{
if($usermail["zustaendigkeit_1"] <> '' OR $usermail["zustaendigkeit_2"] <> '' OR $usermail ["zustaendigkeit_3"] <> ''){
mail($usermail, "Marketing Aufgabendefinition - Kommentar von ".$userkennung." zum Beitrag: ".$betreff."", $nachricht, "From: Absender <[email protected]>");
}
$row++;
}

Achja... $hint muss raus ;) Dann klappts auch mit dem Versand.

[EDIT]
Wenn du $hint trotzdem am Ende der Nachricht haben willst, änder deinen Code einfach folgendermaßen:

$nachricht = $kommentare;
$nachricht = wordwrap($nachricht, 70);
$nachricht .= "\n\nDiese Benachrichtigungsmail wurde automatisch versand - Bitte nicht darauf antworten!";
[/EDIT]

LOL, stimmt ohne $hint gehts :) ... allerdings ist $hint ein netter Spruch unter der mail welcher eigentlich schon drinnen sein sollte.

EDIT: supi!
 

MaxiMillion

Granny Smith
Registriert
13.07.09
Beiträge
15
Hab doch gepostet, dass $hint trotzdem drin ist bzw. wie du das machst! ;)
 

.holger

Borowitzky
Registriert
13.09.04
Beiträge
8.970
ach und ich würd diese Mailadressen hier rauseditieren - Crawler greifen sich die sonst und schicken viel Spam…
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
Passt alles mit dem Mailversand - Danke Leute!!!!

EDIT jetzt greif ich mal das zweite Problem an - das nur an die jeweils Zuständigen versand wird.
 

MaxiMillion

Granny Smith
Registriert
13.07.09
Beiträge
15
Auch dieses Problem hab ich doch schon in meinem Post gelöst! Les ihn doch bitte einfach mal Aufmerksam durch! ^^"
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
Auch dieses Problem hab ich doch schon in meinem Post gelöst! Les ihn doch bitte einfach mal Aufmerksam durch! ^^"

hab ich hab ich ;) das Problem ist nur das zustaendig_1 bis 4 nur einen Namen enthalten. Die Usermails sind in einem neuen Table "users" drinnen. ich weis nicht wie ich die Verbindung herstellen kann das wenn in zustaendig_1 ein name drinnen steht automatisch auf den jeweiligen User und dessen Mailadresse zugegriffen werden kann.
 

MaxiMillion

Granny Smith
Registriert
13.07.09
Beiträge
15
Sag mir mal deine Tabellenstrukturen dann sag ich dir wie du es machst! ;)
Also: Tabelle Users mit Feldern und Tabelle Zuständigkeiten mit Feldern.
Allgemein bleibt aber zu sagen: Ich würde niemals Namen als Verknüpfung nehmen, sondern immer id's. Dann kannste die Namen ändern wie du willst und die Verknüpfung bleibt bestehen.
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
Sag mir mal deine Tabellenstrukturen dann sag ich dir wie du es machst! ;)
Also: Tabelle Users mit Feldern und Tabelle Zuständigkeiten mit Feldern.
Allgemein bleibt aber zu sagen: Ich würde niemals Namen als Verknüpfung nehmen, sondern immer id's. Dann kannste die Namen ändern wie du willst und die Verknüpfung bleibt bestehen.

Hilft dir evtl. ein lerer dump?
 
Zuletzt bearbeitet:

MaxiMillion

Granny Smith
Registriert
13.07.09
Beiträge
15
$query = "SELECT data.zustaendigkeit_1, data.zustaendigkeit_2, data.zustaendigkeit_3, data.zustaendigkeit_4, users.UserName, users.UserMail FROM data, users WHERE data.zustaendigkeit_1 = users.UserName OR data.zustaendigkeit_2 = users.UserName OR data.zustaendigkeit_3 = users.UserName OR data.zustaendigkeit_4 = users.UserName";
$result = @mysql_query($query);
while($row = mysql_fetch_array($result)){
mail($row["UserMail"], "Marketing Aufgabendefinition - Kommentar von ".$row["UserName"]." zum Beitrag: ".$betreff."", $nachricht, "From: Absender <Absenderemail>");
}

So in etwa müsste es klappen, is jetz fix geschrieben und ungetestet... Wenns nich klappt guck ichs mir später nochma genauer an.

Grüße.
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
$query = "SELECT data.zustaendigkeit_1, data.zustaendigkeit_2, data.zustaendigkeit_3, data.zustaendigkeit_4, users.UserName, users.UserMail FROM data, users WHERE data.zustaendigkeit_1 = users.UserName OR data.zustaendigkeit_2 = users.UserName OR data.zustaendigkeit_3 = users.UserName OR data.zustaendigkeit_4 = users.UserName";
$result = @mysql_query($query);
while($row = mysql_fetch_array($result)){
mail($row["UserMail"], "Marketing Aufgabendefinition - Kommentar von ".$row["UserName"]." zum Beitrag: ".$betreff."", $nachricht, "From: Absender <Absenderemail>");
}

So in etwa müsste es klappen, is jetz fix geschrieben und ungetestet... Wenns nich klappt guck ichs mir später nochma genauer an.

Grüße.
//automatisch Mailversand wenn eine Änderung oder ein neuer Beitrag erstellt wurde an alle User in DB
mysql_select_db("lohi_marketing");
$sql = "SELECT * FROM users";
$result = mysql_db_query($db, $sql);

$nachricht = $kommentare;
$nachricht = wordwrap($nachricht, 70);
$nachricht .= "\n\n\n\nDirektlink zur Anmeldeseite: http://marketing.lohi.de \n\nDiese Benachrichtigungsmail wurde automatisch versand - Bitte nicht darauf antworten!";

$row=0;
while ($usermail=mysql_result($result, $row, "usermail"))
{
$query = "SELECT data.zustaendig_1, data.zustaendig_2, data.zustaendig_3, data.zustaendig_4, users.UserName, users.UserMail FROM data, users WHERE data.zustaendig_1 = users.UserName OR data.zustaendig_2 = users.UserName OR data.zustaendig_3 = users.UserName OR data.zustaendig_4 = users.UserName";
$result = @mysql_query($query);
while($row = mysql_fetch_array($result)){

mail($usermail, "Marketing Aufgabendefinition - Kommentar von $userkennung zum Beitrag: $betreff", $nachricht, "From:<[email protected]>");
$row++;
}
}
//mailversand ende


EDIT: ne klappt leider nicht - irgendwie kommen immer noch an alle Mails an und es dauert ewig bis die Bestätigungsseite kommt

EDIT EDIT: es wurden über 2000 Mails verschickt!!!!
 

MaxiMillion

Granny Smith
Registriert
13.07.09
Beiträge
15
du sollst ja auch nur meine while nehmen. und nich deine auch noch ^^ also so:

//automatisch Mailversand wenn eine Änderung oder ein neuer Beitrag erstellt wurde an alle User in DB
mysql_select_db("lohi_marketing");

$nachricht = $kommentare;
$nachricht = wordwrap($nachricht, 70);
$nachricht .= "\n\n\n\nDirektlink zur Anmeldeseite: http://marketing.lohi.de \n\nDiese Benachrichtigungsmail wurde automatisch versand - Bitte nicht darauf antworten!";

$query = "SELECT data.zustaendigkeit_1, data.zustaendigkeit_2, data.zustaendigkeit_3, data.zustaendigkeit_4, users.UserName, users.UserMail FROM data, users WHERE data.zustaendigkeit_1 = users.UserName OR data.zustaendigkeit_2 = users.UserName OR data.zustaendigkeit_3 = users.UserName OR data.zustaendigkeit_4 = users.UserName";
$result = @mysql_db_query($db, $query);
while($row = mysql_fetch_array($result)){
mail($row["UserMail"], "Marketing Aufgabendefinition - Kommentar von ".$row["UserName"]." zum Beitrag: ".$betreff."", $nachricht, "From: Absender <Absenderemail>");
}

teste das mal bitte.
 

Tyrra

Kronprinz Rudolf von Österreich
Registriert
17.12.07
Beiträge
1.902
du sollst ja auch nur meine while nehmen. und nich deine auch noch ^^ also so:

//automatisch Mailversand wenn eine Änderung oder ein neuer Beitrag erstellt wurde an alle User in DB
mysql_select_db("lohi_marketing");

$nachricht = $kommentare;
$nachricht = wordwrap($nachricht, 70);
$nachricht .= "\n\n\n\nDirektlink zur Anmeldeseite: http://marketing.lohi.de \n\nDiese Benachrichtigungsmail wurde automatisch versand - Bitte nicht darauf antworten!";

$query = "SELECT data.zustaendigkeit_1, data.zustaendigkeit_2, data.zustaendigkeit_3, data.zustaendigkeit_4, users.UserName, users.UserMail FROM data, users WHERE data.zustaendigkeit_1 = users.UserName OR data.zustaendigkeit_2 = users.UserName OR data.zustaendigkeit_3 = users.UserName OR data.zustaendigkeit_4 = users.UserName";
$result = @mysql_db_query($db, $query);
while($row = mysql_fetch_array($result)){
mail($row["UserMail"], "Marketing Aufgabendefinition - Kommentar von ".$row["UserName"]." zum Beitrag: ".$betreff."", $nachricht, "From: Absender <Absenderemail>");
}

teste das mal bitte.

OK - bin grade beim testen

php ----------------------------

//automatisch Mailversand wenn eine Änderung oder ein neuer Beitrag erstellt wurde an alle User in DB
mysql_select_db("lohi_marketing");

$nachricht = $kommentare;
$nachricht = wordwrap($nachricht, 70);
$nachricht .= "\n\n\n\nDirektlink zur Anmeldeseite: http://marketing.lohi.de \n\nDiese Benachrichtigungsmail wurde automatisch versand - Bitte nicht darauf antworten!";

$query = "SELECT data.zustaendig_1, data.zustaendig_2, data.zustaendig_3, data.zustaendig_4, users.UserName, users.UserMail FROM data, users WHERE data.zustaendig_1 = users.UserName OR data.zustaendig_2 = users.UserName OR data.zustaendig_3 = users.UserName OR data.zustaendig_4 = users.UserName";
$result = @mysql_db_query($db, $query);
while($row = mysql_fetch_array($result)){
mail($row["UserMail"], "Marketing Aufgabendefinition - Kommentar von ".$row["UserName"]." zum Beitrag: ".$betreff."", $nachricht, "From:<[email protected]>");
}
//mailversand ende


EDIT: Bekomme keine Fehlermeldung aber es kommt auch keine Mail an!