minimail als 3rd-party-apps

  • Ab sofort steht euch hier im Forum die neue Add-on Verwaltung zur Verfügung – eine zentrale Plattform für alles rund um Erweiterungen und Add-ons für den DSM.

    Damit haben wir einen Ort, an dem Lösungen von Nutzern mit der Community geteilt werden können. Über die Team Funktion können Projekte auch gemeinsam gepflegt werden.

    Was die Add-on Verwaltung kann und wie es funktioniert findet Ihr hier

    Hier geht es zu den Add-ons

Status
Für weitere Antworten geschlossen.

itari

Benutzer
Registriert
15. Mai 2008
Beiträge
21.900
Reaktionspunkte
14
Punkte
0
Manchmal will man ganz schnell mal was mailen :D
Ganz klassisch ohne Dateianhänge, ohne Textformatierung, ohne Flags, ohne CC, BCC - einfach nur einfach.
Dann könnte das folgende kleine PHP-Skript gerade das Richtige sein ;)

(1) Alles klar machen für eine 3rd-party-apps und dran denken, dass es hier nur was auf eigene Verantwortung gibt :D
(2) Alles klar machen im Disk Station Manager für das Versenden von Mails (Stichwort: Benachrichtigung)
(3) Eine Konfigurations-Datei für die 3rd-party-apps einrichten in /etc/syno/synoman/webman/3rdparty/minimail/application.cfg mit folgendem Inhalt:
Rich (BBCode):
text = minimail
description = minimail
type = embedded
path = /phpsrc/minimail/minimail.php
(4) Ein Verzeichnis erstellen in /usr/syno/synoman/phpsrc/minimail und eine Datei erstellen namens minimail.php mit folgendem Inhalt:
PHP:
<?php
if ($_REQUEST['SendTo'] != '') {
  if ($_REQUEST['Subject'] == '') $_REQUEST['Subject'] = '(no subject)';
  mail($_REQUEST['SendTo'],$_REQUEST['Subject'],$_REQUEST['Body']);
  print '<script>alert("send mail")</script>';
}
elseif (isset($_REQUEST['SendTo'])) print '<script>alert("no mail send - empty TO-field")</script>';
?>
<html><head><title>minimail</title>
<style>body,input,textarea{font:11px Verdana}</style>
</head><body>
<form id="f" name="f" action="minimail.php">
<fieldset><legend>Send to:</legend>
<input type="text" name="SendTo" size="126" value="<?php print $_REQUEST['SendTo'] ?>"></fieldset>
<fieldset><legend>Subject:</legend>
<input type="text" name="Subject" size="126" value="<?php print $_REQUEST['Subject'] ?>"></fieldset>
<fieldset><legend>Body:</legend>
<textarea name="Body" cols="123" rows="10"><?php print stripslashes($_REQUEST['Body']) ?></textarea></fieldset>
<center><input type="reset" value="reset" />
<input type="submit" value="send" /></center>
</form></body></html>

(5) Den Disk Station Manager refreshen und ausprobieren.

.
 

Anhänge

  • minimail.jpg
    minimail.jpg
    34,2 KB · Aufrufe: 273
Thanks itari

Bekomme eine Fehlermeldung. Kannst du damit was anfangen?




Gruss sixpack12
 
(1) Funktioniert die Mail-Funktion im Disk-Station-Manager bei dir? Kannst da eine Testmail senden?

(2) Welche Firmware hast?

itari
 
*Schäm*, man sollte vorher die "Benachrichtigung" aktivieren.
Funzt nun 1a, Dank dir, lieber itari.
Firmware DSM 2.0-0640.


Gruss sixpack12
 
VERSION 2:

Mit Absenderfeld und Auswahl, ob nur reiner Text oder HTML im Body vorkommen kann.

PHP:
<?php
exec("/bin/get_key_value /etc/synoinfo.conf eventmail1",$OUT);$FROM=$OUT[0];
if ($_REQUEST['SendTo'] != '') {
  if ($_REQUEST['Subject'] == '') $_REQUEST['Subject'] = '(no subject)';
  mail($_REQUEST['SendTo'],$_REQUEST['Subject'],stripslashes($_REQUEST['Body']),
  "From: \"".$_REQUEST['From']."\" ".$FROM."\nContent-Type: ".$_REQUEST['ContentType']."\n" );
  print '<script>alert("send mail")</script>';
}
elseif (isset($_REQUEST['SendTo'])) print '<script>alert("send not mail - empty TO-field")</script>';
if (!isset($_REQUEST['From'])) $_REQUEST['From'] = substr($FROM,0,strpos($FROM,'@'));
if (!isset($_REQUEST['ContentType'])) $_REQUEST['ContentType'] = "text/plain";
?>
<html><head><title>minimail</title>
<style>body,input,textarea{font:11px Verdana}fieldset{border:1px solid #bbb}</style>
</head><body>
<form id="f" name="f" action="minimail.php">
<input type="hidden" id="action" name="action" value="" />
<fieldset><legend>From:</legend>
<input type="text" id="From" name="From" size="126" value="<?php print $_REQUEST['From'] ?>"></fieldset>
<fieldset><legend>Send to:</legend>
<input type="text" id="SendTo" name="SendTo" size="126" value="<?php print $_REQUEST['SendTo'] ?>"></fieldset>
<fieldset><legend>Subject:</legend>
<input type="text" id="Subject" name="Subject" size="126" value="<?php print $_REQUEST['Subject'] ?>"></fieldset>
<fieldset><legend>Body:</legend>
Content-Type: 
<input type="radio" name="ContentType" value="text/plain" 
<?php print $_REQUEST['ContentType']=='text/plain'?'checked="checked"':'' ?>>Text
<input type="radio" name="ContentType" value="text/html" 
<?php print $_REQUEST['ContentType']=='text/html'?'checked="checked"':'' ?>>HTML<br/>
<textarea name="Body" cols="123" rows="10"><?php print stripslashes($_REQUEST['Body']) ?></textarea></fieldset>
<center><input type="reset" value="reset" />
<input type="submit" value="send" /></center>
</form>

So long

itari
 
Version 1 funktioniert prächtig !

Version 2 spuckt mir einen
Warning: mail() [function.mail]: Failed to send mail. (501 5.1.7 Error parsing address: <"Garfield") in /usr/syno/synoman/phpsrc/minimail/minimail.php on line 6
raus.

Könnt man (sofern es die gibt) in V3 gleich nen HTML Editor und eine Standard-Signatur mit einbacken? :D
 
Mach mal eine Screen-Shoot vom Absender, den du eingegeben hast, damit ich den Fehler verstehe. Bei mir läuft es nämlich.

Signatur weiss ich nicht, wie man die einbauen könnte; muss ich mal nachlesen im Mail-Protokoll.

HTML-Editor kannst dir doch selbst machen im FF mit dem Add-on "Write Area". Installier das im FF und du kannst jedes TEXTAREA-Feld als HTML editieren. Ich denke das reicht doch, oder?

itari
 
Dieses Script gibt mir folgende Meldung:

Warning: mail() [function.mail]: Failed to send mail. (501 <"xxx@xxxxx.net">: sender address must contain a domain) in /usr/syno/synoman/phpsrc/minimail/minimail.php on line 6

(Testmails und Benachrichtigungen von der DS funktionieren)

:mad:
 
Hast die erste Version auch mal probiert? Da müsste es ohne Probs gehen.

Bei der zweiten Fassung muss (!) in dem Disk Station Manager eine Absender-Email angegeben werden, weil diese ausgelesen wird. Also genauer: in der Datei /etc/synoinfo.conf muss das Feld "eventmail1" eine gültige Absender-Email-Adresse aufweisen.

Und in der zweiten Version statt

"From: \"".$_REQUEST['From']."\" ".$FROM."\nContent-Type: "

mal das Folgende ausprobieren:

"From: \"".$REQUEST['From']."\" <".$FROM.">\nContent-Type: "

itari
 
Zuletzt bearbeitet:
Dann schau noch mal den Post vorher an, hab da geändert
 
ok, die Absendermailadresse war drin.

Mit der Codeänderung gehts, allerdings scheint nun das FROM Feld total ignoriert zu werden, ich kann eingeben was ich will, im erhaltenen Mail steht als Absender immer die gleiche Adresse wie für den Empfänger
 
Joa, dann macht dein E-Mail-Provider das automatisch rein. Das können wir beide dann nicht beeinflussen. Aber das ist ja auch nicht soo schlimm, ist ja nur eine Mini-Mail und die ist ja besser als nichts - oder?

itari

PS: ich hab auch noch eine dritte Version, die verschiedene Absender kann, bin aber im Moment zu faul, die zu veröffentlichen.
 
Ja klar, ist eh mehr zum Spielen gedacht ;)

Genau :)

Man kann spielerisch herausfinden, dass man aus seinen selbstgeschriebenen Web-Anwendungen "notifies" per mail an sich schicken kann. Zum Beispiel, wenn man eine selbst geschriebenes Backup fährt oder so seine Hitzewerte bei Schwellenüberschreitung los wird.

Zum anderen kann man, wenn man möchte, anderen Leuten die Postfächer zusubbeln. Da es ja viele Leute gibt, die nicht nur aus dem Web saugen wollen, sondern auch was versenden, könnten die schon auf so eine Idee gewartet haben. :rolleyes:

Last not least kann man per Email seine Files zur Google-Mail uploaden. Es gibt ja schon einige Beiträge, wo Leute gerne ihre Dateien für irgendwelche Zwecke ins Netz hochladen wollen. Bei Google-Mail hat man schon Browser-add-ins und kann garantiert sicher sein, dass Google alles liest :D

Da es den sendmail ja nicht standardmäßig in der klassischen Form auf der DS gibt, ist das halt ne MiniMail-Lösung. Ich hab mir übrigens den nail installiert und kann auch so ziemlich alles (senden und empfangen) per Kommandozeile, das Schöne: der nail ist ja eigentlich ein xmail-Clone, so dass man sich auch gar nicht umstellen muss.

itari
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat