forked from kivitendo/kivitendo-crm
/
sermail.php
118 lines (114 loc) · 5.17 KB
/
sermail.php
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
<?php
// $Id$
require_once("inc/stdLib.php");
include("inc/template.inc");
include("inc/crmLib.php");
include_once("inc/UserLib.php");
$menu = $_SESSION['menu'];
$head = mkHeader();
$t = new Template($base);
if ( $_GET['src'] == 'F' ) {
$t->set_var(array(
'STYLESHEETS' => $menu['stylesheets'],
'CRMCSS' => $head['CRMCSS'],
'JAVASCRIPTS' => '',
'PRE_CONTENT' => '',
'START_CONTENT' => '',
'END_CONTENT' => '',
'JQUERY' => $head['JQUERY'],
'THEME' => $head['theme'],
'JQDATE' => $head['JQDATE'],
));
} else {
$t->set_var(array(
'STYLESHEETS' => $menu['stylesheets'],
'CRMCSS' => $head['CRMCSS'],
'JAVASCRIPTS' => $menu['javascripts'],
'PRE_CONTENT' => $menu['pre_content'],
'START_CONTENT' => $menu['start_content'],
'END_CONTENT' => $menu['end_content'],
'JQUERY' => $head['JQUERY'],
'THEME' => $head['theme'],
'JQDATE' => $head['JQDATE'],
));
}
$user=getUserStamm($_SESSION["loginCRM"]);
$MailSign=str_replace("\n","<br>",$user["mailsign"]);
$MailSign=str_replace("\r","",$MailSign);
if ($_POST) {
$Subject=preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "", $_POST["Subject"]);
$BodyText=preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "", $_POST["BodyText"]);
$okC=true; $okA = true;
if ($_POST["CC"]<>"") {
$CC=preg_replace( "/[^a-z0-9 !?:;,.\/_\-=+@#$&\*\(\)]/im", "", $_POST["CC"]);
$CC=preg_replace( "/(content-type:|bcc:|cc:|to:|from:)/im", "", $CC);
$rc=chkMailAdr($CC);
if($rc<>"ok") {
$okC=false; $msg.=" CC:".$rc;
} else {
insertCSVData(array('CC',$CC,'','','','','','','',$CC,'',-1,'','','','','','','','',''),-1);
}
};
// geht hier nicht ums Konvertieren, sonder ums Quoten!
mb_internal_encoding($_SESSION["charset"]);
$Name = mb_encode_mimeheader($user["name"], $_SESSION["charset"], 'Q', '');
if ( $user["email"] != '' ) {
$abs = $Name.' <'.$user["email"].'>';
$rc = chkMailAdr($user["email"]); if($rc<>"ok") { $okA=false; $msg.=" Abs:".$rc; };
} else if ( $_SESSION['email'] != '' ) {
$abs = $Name.' <'.$_SESSION["email"].'>';
$rc = chkMailAdr($_SESSION["email"]); if($rc<>"ok") { $okA=false; $msg.=" Abs:".$rc; };
} else {
$okA=false; $msg.=" Kein Absender";
}
if ( $okC && $okA ) {
$dateiname = "";
if ($_FILES["Datei"]["name"]<>"") {
$dat["Datei"]["name"]=$_FILES["Datei"]["name"];
$dat["Datei"]["tmp_name"]=$_FILES["Datei"]["tmp_name"];
$dat["Datei"]["type"]=$_FILES["Datei"]["type"];
$dat["Datei"]["size"]=$_FILES["Datei"]["size"];
$dbfile=new document();
$dbfile->setDocData("descript",$Subject);
$ok=chkdir($_SESSION["login"].'/SerMail');
$pfad=$_SESSION["login"].'/SerMail';
$rc=$dbfile->uploadDocument($_FILES,$pfad);
$dateiID=$dbfile->id;
$dateiname=$_FILES["Datei"]["name"];
}
$limit=50;
$SubjectMail = mb_encode_mimeheader($Subject, $_SESSION["charset"], 'Q', '');
$headers=array(
"Return-Path" => $user["email"],
"Reply-To" => $abs,
"From" => $abs,
"X-Mailer" => "PHP/".phpversion(),
"Subject" => $SubjectMail);
if ($dateiname=="") $headers["Content-Type"] = "text/plain; charset=".$_SESSION["charset"];
$_SESSION["headers"]=$headers;
$_SESSION["Subject"]=$Subject;
$_SESSION["bodytxt"]=$BodyText;
$_SESSION["dateiname"]=$dateiname;
$_SESSION["dateiId"]=($dateiID)?$dateiID:0;
$_SESSION["limit"]=$limit;
$sendtxt="Es öffnet sich nun ein extra Fenster.<br>";
$sendtxt.="Bitte schließen sie es nur wenn sie dazu aufgefordert werden,<br>";
$sendtxt.="da sonst der Mailversand beendet wird.<br><br>";
$sendtxt.="Sie können aber ganz normal mit anderen Programmteilen arbeiten.";
$sendtxt.="<script language='JavaScript'>fx=open('sendsermail.php?first=1','sendmail','width=200,height=100');</script>";
$sendtxt.="<pre>$BodyText</pre>";
}
} else {
$BodyText=" \n".str_replace("\r","",$user["mailsign"]);
}
$t->set_file(array("mail" => "sermail.tpl"));
$t->set_var(array(
Msg => $msg,
CC => $CC,
Subject => $Subject,
BodyText => $BodyText,
Sign => $MailSign,
SENDTXT => $sendtxt
));
$t->pparse("out",array("mail"));
?>