Mail mit der Plugin-API schicken: Absendeadresse wählbar?

  • Seite 1 von 2
14.07.2016 09:12
avatar  HLueken
#1 Mail mit der Plugin-API schicken: Absendeadresse wählbar?
avatar
Mitglied

Hallo,

ich möchte API-Plugin nutzen, um automatische Mails zu verschicken (Anfrage an Gruppenverantwortliche, ob ein Benutzer freigeschaltet werden kann). Dabei habe ich gestern festgestellt, dass die Absende-Adresse "no-reply@homepagemodules.de" ist. Kann man das irgendwo einstellen?

Bei den Forumsbenachrichtigungen kann man die Mailadresse angeben, das wäre auch hier wünschenswert: ich erwarte danach eine Antwort vom Empfänger, die könnten aber nicht mehr einfach "Antworten" drücken.

Viele Grüße
Heinz


 Antworten

 Beitrag melden
14.07.2016 10:33
avatar  Ingmar
#2 RE: Mail mit der Plugin-API schicken: Absendeadresse wählbar?
avatar
Technik

Nein, das ist hardcoded.

Das können wir auch nicht so einfach ändern, sonst nutzt das früher oder später jemand zum versenden von Spam-Mails.

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
14.07.2016 22:23
avatar  HLueken
#3 RE: Mail mit der Plugin-API schicken: Absendeadresse wählbar?
avatar
Mitglied

Schade, auch wenn ich das natürlich verstehe. Das führt leider dazu, dass ich dann diese automatischen Mails nicht nutzen kann (würde die Benutzer zu sehr verwirren, da ich ja auch eine Antwort vom Empfänger erwarte).

Ich könnte mir schon vorstellen, dass man Einschränkungen machen könnte, die das Risiko für ein Spamming viel kleiner machen (z.B. nur Bezahltarif, bis zu x Mails am Tag, nur bestimmte "vertrauenswürdige" Mailadressen, ...).

Gibt es eine API Funktion, mit der ich automatische Private Nachrichten verschicken kann? Das wäre eine sinnvolle Alternative, und da gibt es ja auch kein Spam-Risiko...


 Antworten

 Beitrag melden
15.07.2016 10:53
avatar  Ingmar
#4 RE: Mail mit der Plugin-API schicken: Absendeadresse wählbar?
avatar
Technik

Ja, das geht mit "sendpm" statt "sendmail" als call-Function:

/*
Parameter


Pflicht:
title
body
to

Optional:
from (bei keine Angabe wird deine Userid genommen)
savesent (PM im Postausgang speichern?=
emailnotification (Empfänger per Email benachrichtigen?)
bbcode (BBcodes umwandeln?)
*/

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
15.07.2016 14:17
avatar  HLueken
#5 RE: Mail mit der Plugin-API schicken: Absendeadresse wählbar?
avatar
Mitglied

Vielen Dank!!

Sind die Paramter savesent, emailnotification, bbcode mit boolean zu übergeben (true, false)?


 Antworten

 Beitrag melden
15.07.2016 14:38 (zuletzt bearbeitet: 15.07.2016 14:39)
avatar  Ingmar
#6 RE: Mail mit der Plugin-API schicken: Absendeadresse wählbar?
avatar
Technik

Ich glaube das war 1 und 0 - vermutlich klappt es aber auch mit true/false...

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
15.07.2016 15:03
avatar  HLueken
#7 RE: Mail mit der Plugin-API schicken: Absendeadresse wählbar?
avatar
Mitglied

ich kriege es nicht hin, nicht mit 1, "1", true

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
	
var subject = 'dies ist eine generierte PN';
var body = 'Zeile 1[br][b]Zeile2[/b]';
 
xobor.plugin("checknewuser").call("sendpm",
{to: 20,
title: subject,
body: body,
from:20,
savesent: "1",
emailnotification: 1,
bbcode: true },
function(res){alert("PN versendet");});
 
 



es wird eine PN erzeugt, aber die drei Parameter sind ohne Wirkung


 Antworten

 Beitrag melden
15.07.2016 15:12
avatar  Ingmar
#8 RE: Mail mit der Plugin-API schicken: Absendeadresse wählbar?
avatar
Technik

sorry, hatte vorhin na der falschen Stelle gesucht...

versuchs mal so:

1
2
3
4
5
6
7
8
9
10
 

{to: 20,
title: subject,
body: body,
from:20,
readreceipt : 1
notifyMail : 1
bbcode : 1
},
 
 

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
15.07.2016 15:41
avatar  HLueken
#9 RE: Mail mit der Plugin-API schicken: Absendeadresse wählbar?
avatar
Mitglied

schon besser:
damit geht die Mailbenachrichtigung, aber readreceipt und bbcode (da müssten doch in der PN zwei Zeilen und Fettdruck in der zweiten Zeile kommen) noch nicht

1
2
3
4
5
6
7
8
9
10
11
12
13
 

var subject = 'dies ist eine generierte PN';
var body = 'Zeile 1[br][b]Zeile2[/b]';
xobor.plugin("checknewuser").call("sendpm",
{to: 20,
title: subject,
body: body,
from:20,
readreceipt : 1,
notifyMail : 1,
bbcode : 1},
function(res){alert("PN versendet");});
 
 


 Antworten

 Beitrag melden
15.07.2016 16:21 (zuletzt bearbeitet: 15.07.2016 16:22)
avatar  Ingmar
#10 RE: Mail mit der Plugin-API schicken: Absendeadresse wählbar?
avatar
Technik

Seltsam. Naja vielleicht ist das der Grund, warum die Funktion nirgends in Dokumentation zu finden ist

Ich tippe mal das wurde für ein bezahltes Kundenplugin implementiert und dann vermutlich nur der Teil getestet, der auch wirklich benötigt wurde.

Ich kann da jetzt aber auch nicht auf Fehlersuche gehen, da musst du erstmal mit der Einschränkung ohne BB-Code und Lesebestätigung leben, wenn du die Funktion nutzen möchtest.

Alternativ kannst du dir theoritisch den POST-Call anschauen, der beim PN-Versenden an den Server geht und das in einer AJAX-Funktion nachbauen um deine PNs zu versenden...

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
15.07.2016 19:59
avatar  HLueken
#11 RE: Mail mit der Plugin-API schicken: Absendeadresse wählbar?
avatar
Mitglied

Aber wie bekomme ich einen Zeilenvorschub hin? \n scheint nicht zu gehen...


 Antworten

 Beitrag melden
15.07.2016 23:22
avatar  Olaf
#12 RE: Mail mit der Plugin-API schicken: Absendeadresse wählbar?
Ol
Mitglied

Du kannst auch den BBcode vorher mit der "bbcodeLive()-Funktion" umwandeln,aber scheinbar wird HTML in den PN's nicht ausgeführt

1
2
3
4
5
6
7
8
9
10
11
12
13
 
var body = 
{text:'Zeile 1[br][b]Zeile2[/b]',
}
xobor.plugin("aktivsteruser").call("bbcodeLive",body,function(text){
var subject = 'dies ist eine generierte PN';
xobor.plugin("aktivsteruser").call("sendpm",
{to: 1,
title: subject,
body: text,
from:1},
function(res){alert("PN versendet");});
})
 
 



Das \n als Zeilenumbruch funktioniert aber einwandfrei

1
 
var body = 'Zeile 1\nZeile2';
 



Gruß
Olaf

__________________________

http://138600.homepagemodules.de/

 Antworten

 Beitrag melden
16.07.2016 18:04 (zuletzt bearbeitet: 16.07.2016 18:07)
avatar  HLueken
#13 RE: Mail mit der Plugin-API schicken: Absendeadresse wählbar?
avatar
Mitglied

der Tipp mit dem POST-Call war super, daraus konnte ich dann ganz einfach eine eigene Funktion bauen, die PMs buchen kann (auf die Idee wäre ich gar nicht gekommen)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 

/*-------------------------------------------------------------------------
* function to send a private message to one or multiple receivers
* receivers: array with names of receivers
* title : title of message
* body : body of message (BBCodes are allowed in the message)
*------------------------------------------------------------------------- */
function sendPM(receivers,title,body) {
$.ajax({
type: "POST",
url: "https://www.asyl-forum.de/private_new.php",
data: {
name:receivers,
title: title,
text: body,
send: "Mail+schicken",
options: {outbox:1}
},
dataType: "json"
});
}
 
sendPM(["Administrator"],
"eine automatisch generierte Nachricht",
"Zeile 1[br][b]Zeile 2[/b]"
);
 
 



Falls das jemand nutzen möchte, muss nur die url ersetzt werden durch die des eigenen Forums


 Antworten

 Beitrag melden
18.07.2016 16:09
avatar  HLueken
#14 Problem mit Umlauten...
avatar
Mitglied

jetzt habe ich Probleme mit den Umlauten

Wenn ich mir eine eigene Seite im Forum anlege und da dann den ajax-call absetze, kommt statt Umlauten nur Unsinn an. Woran kann das denn liegen?

Muss ich auf der eigenen Seite eine bestimmte Code Page setzen? Wenn ja, wie?


 Antworten

 Beitrag melden
18.07.2016 16:19 (zuletzt bearbeitet: 18.07.2016 16:19)
avatar  Ingmar
#15 RE: Problem mit Umlauten...
avatar
Technik

Zitat
jetzt habe ich Probleme mit den Umlauten



Welcome to our world

eine relative sichere Möglichkeit das Problem zu umgehen ist die Funktion xconvert2entity

also vor deinem Post call einmal die Post-Daten encoden:

data = {text: 'mit ümlaut', 'action':'egalwas','doit',true};
data = xconvert2entity(data);

dann erst absenden.

Die funktion ist im Standard-JS des Forums enthalten, hier zur Sicherheit nochmal der Code:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 

 

function xconvert2entity(utf8_string) {

if (typeof(utf8_string == 'array')){
utf8_string = {arr : utf8_string};
doarray = 1;
}
 

if (typeof(utf8_string == 'object')){
utf8_string = JSON.stringify(utf8_string);
dojson = 1;
}
 

var html_entity = "";
for(i=0; i<=utf8_string.length; i++)
{
if(utf8_string.charCodeAt(i)>127){
html_entity += "&#" + utf8_string.charCodeAt(i) + ";";
}else{html_entity += utf8_string.charAt(i);}
}
if(dojson){html_entity = JSON.parse(html_entity);}
if(doarray){html_entity = html_entity.arr;}
return html_entity;
}
 
 

Viele Grüße,
Ingmar


 Technik · Homepagemodules.de · Miranus GmbH

 Antworten

 Beitrag melden
Bereits Mitglied?
Jetzt anmelden!
Mitglied werden?
Jetzt registrieren!