Im vTiger 5.3 – Workflow den Absender von eMails angeben

Hallo,

Damit es auch mal etwas Neues gibt, hier eine Beschreibung für eine unveröffentlichte Anpassungen meiner vTiger Systeme, welche auf 5.3 und 5.21 arbeiten.

Ich hatte schon öfters das Problem, dass mein vTiger eMails über das Workflow-Modul versenden musste, ich aber den Absender der eMail nirgendwo konfigurieren konnte.

Das mag bei einem festen Absender kein Problem sein, da einfach die Angabe aus dem Admin-User genutzt wird.
Wenn aber der vTiger so angelegt ist, und davon gehe ich meistens aus, dass er mehrere Funktionen übernimmt, dann bekommt man schnell Probleme ob man username@domainA.de oder username@domainB.de nehmen sollte.

Deshalb hier eine kleine Beschreibung, wieder mit Archiv und diff-File, damit man im Aktionsteil eines Workflows diese Angabe unkompliziert konfigurieren kann.

modules/com_vtiger_workflow/tasks/VTEmailTask.inc

Da die beliebte Extension „PDFMaker“, bzw. Ihre Workflow Extension, an dieser Datei ebenfalls Änderungen durchführt, ist hier etwas Vorsicht geboten!

Funktion:  getFieldNames(..) [~Line 18]

Suchen: (Evtl. sieht diese Funktion durch PDFMaker anders aus)

return array("subject", "content", "recepient", 'emailcc', 'emailbcc');

In der Auflistung, am Ende, zwei Werte ergänzen:

,'from_mail', 'from_name'

Die Zeile sollte dann ungefähr folgendermaßen aussehen, wenn kein PDFMaker installiert ist:

return array("subject", "content", "recepient", 'emailcc', 'emailbcc', 'from_mail', 'from_name');

Mit PDFMaker steht noch der Wert ‚template‘ in dieser Übersicht.

Funktion:  doTask(..) [~Line 21]

Suchen:

		$result = $adb->query("select user_name, email1, email2 from vtiger_users where id=1");
		$from_email = $adb->query_result($result,0,'email1');
		$from_name  = $adb->query_result($result,0,'user_name');

Ersetzen mit folgendem Code:

		if(!empty($this->from_mail)) {
			$from_email = $this->from_mail;
			$from_name  = $this->from_name;
		} else {
			$result = $adb->query("select user_name, email1, email2 from vtiger_users where id=1");
			$from_email = $adb->query_result($result,0,'email1');
			$from_name  = $adb->query_result($result,0,'user_name');
		}

Smarty/templates/com_vtiger_workflow/taskforms/VTEmailTask.tpl

Auch hier wieder der Hinweis bzgl. PDFMaker!

Suchen:

<table border="0" cellpadding="5" cellspacing="0" width="100%" class="small">

Danach einfügen:

	<tr>
		<td class='dvtCellLabel' align="right" width=15% nowrap="nowrap"><b><font color=red>*</font> From Name</b></td>
		<td class='dvtCellInfo'><input type="text" name="from_name" value="{$task->from_name}" id="save_from_name" class="form_input" style='width: 250px;'></td>

	</tr>
	<tr>
		<td class='dvtCellLabel' align="right" width=15% nowrap="nowrap"><b><font color=red>*</font> From Mail</b></td>
		<td class='dvtCellInfo'><input type="text" name="from_mail" value="{$task->from_mail}" id="save_from_mail" class="form_input" style='width: 250px;'></td>
	</tr>

Das wars schon.
Ab jetzt habt Ihr 2 Felder für Absender Name und eMail. Wenn da nichts angegeben wird, dann wird auch weiterhin die Angabe vom Admin genutzt!

Hier noch das Archiv der Files: workflow_mailabsender

Und das Patch-File: workflow_mailabsender (Macht PDFMaker Workflow-Extension ebenfalls unbrauchbar)

Viel Spaß damit!

Bye
Stefan

Schreibe einen Kommentar