Diligent web site
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  3. <head>
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <title>PHPMailer Test Page</title>
  6. <script type="text/javascript" src="scripts/shCore.js"></script>
  7. <script type="text/javascript" src="scripts/shBrushPhp.js"></script>
  8. <link type="text/css" rel="stylesheet" href="styles/shCore.css"/>
  9. <link type="text/css" rel="stylesheet" href="styles/shThemeDefault.css"/>
  10. <script type="text/javascript">
  11. SyntaxHighlighter.config.clipboardSwf = 'scripts/clipboard.swf';
  12. SyntaxHighlighter.all();
  13. </script>
  14. </head>
  15. <body >
  16. <?php
  17. echo 'Current PHP version: ' . phpversion() . "<br />";
  18. if ( substr(phpversion(),0,1) < 5 ) { echo exit("ERROR: Wrong PHP version"); }
  19. $CFG['smtp_debug'] = 1;
  20. $CFG['smtp_server'] = 'mail.yourserver.com';
  21. $CFG['smtp_port'] = '25';
  22. $CFG['smtp_authenticate'] = 'true';
  23. $CFG['smtp_username'] = 'name@yourserver.com';
  24. $CFG['smtp_password'] = 'yourpassword';
  25. if ( $_POST['submit'] == "Submit" ) {
  26. class phpmailerAppException extends Exception {
  27. public function errorMessage() {
  28. $errorMsg = '<strong>' . $this->getMessage() . "</strong><br />";
  29. return $errorMsg;
  30. }
  31. }
  32. try {
  33. $to = $_POST['To_Email'];
  34. if(filter_var($to, FILTER_VALIDATE_EMAIL) === FALSE) {
  35. throw new phpmailerAppException("Email address " . $to . " is invalid -- aborting!<br />");
  36. }
  37. } catch (phpmailerAppException $e) {
  38. echo $e->errorMessage();
  39. return false;
  40. }
  41. require_once("../class.phpmailer.php");
  42. $mail = new PHPMailer();
  43. if ( $_POST['Message'] == '' ) {
  44. $body = $mail->getFile('contents.html');
  45. $body = eregi_replace("[\]",'',$body);
  46. } else {
  47. $body = $_POST['Message'];
  48. }
  49. if ( $_POST['test_type'] == "smtp" ) {
  50. $mail->IsSMTP(); // telling the class to use SMTP
  51. $mail->SMTPDebug = $_POST['smtp_debug'];
  52. $mail->SMTPAuth = $_POST['smtp_authenticate']; // enable SMTP authentication
  53. $mail->Port = $_POST['smtp_port']; // set the SMTP port
  54. $mail->Host = $_POST['smtp_server']; // SMTP server
  55. $mail->Username = $_POST['authenticate_username']; // SMTP account username
  56. $mail->Password = $_POST['authenticate_password']; // SMTP account password
  57. } elseif ( $_POST['test_type'] == "mail" ) {
  58. $mail->IsMail(); // telling the class to use PHP's Mail()
  59. } elseif ( $_POST['test_type'] == "sendmail" ) {
  60. $mail->IsSendmail(); // telling the class to use Sendmail
  61. } elseif ( $_POST['test_type'] == "qmail" ) {
  62. $mail->IsQmail(); // telling the class to use Qmail
  63. }
  64. if ( $_POST['From_Name'] != '' ) {
  65. $mail->AddReplyTo($_POST['From_Email'],$_POST['From_Name']);
  66. $mail->From = $_POST['From_Email'];
  67. $mail->FromName = $_POST['From_Name'];
  68. } else {
  69. $mail->AddReplyTo($_POST['From_Email']);
  70. $mail->From = $_POST['From_Email'];
  71. $mail->FromName = $_POST['From_Email'];
  72. }
  73. if ( $_POST['To_Name'] != '' ) {
  74. $mail->AddAddress($to,$_POST['To_Name']);
  75. } else {
  76. $mail->AddAddress($to);
  77. }
  78. if ( $_POST['bcc_Email'] != '' ) {
  79. $indiBCC = explode(" ", $_POST['bcc_Email']);
  80. foreach ($indiBCC as $key => $value) {
  81. $mail->AddBCC($value);
  82. }
  83. }
  84. if ( $_POST['cc_Email'] != '' ) {
  85. $indiCC = explode(" ", $_POST['cc_Email']);
  86. foreach ($indiCC as $key => $value) {
  87. $mail->AddCC($value);
  88. }
  89. }
  90. $mail->Subject = $_POST['Subject'] . ' (PHPMailer test using ' . strtoupper($_POST['test_type']) . ')';
  91. require_once('../class.html2text.inc.php');
  92. $h2t =& new html2text($body);
  93. $mail->AltBody = $h2t->get_text();
  94. //$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
  95. $mail->WordWrap = 80; // set word wrap
  96. $mail->MsgHTML($body);
  97. // $mail->IsHTML(true); // send as HTML
  98. $mail->AddAttachment("images/aikido.gif", "aikido.gif"); // optional name
  99. $mail->AddAttachment("images/phpmailer.gif", "phpmailer.gif"); // optional name
  100. try {
  101. if ( !$mail->Send() ) {
  102. $error = "Unable to send to: " . $to . "<br />";
  103. throw new phpmailerAppException($error);
  104. } else {
  105. echo 'Message has been sent using ' . strtoupper($_POST['test_type']) . "<br /><br />";
  106. }
  107. }
  108. catch (phpmailerAppException $e) {
  109. $errorMsg[] = $e->errorMessage();
  110. }
  111. if ( count($errorMsg) > 0 ) {
  112. foreach ($errorMsg as $key => $value) {
  113. $thisError = $key + 1;
  114. echo $thisError . ': ' . $value;
  115. }
  116. }
  117. ?>
  118. <form method="POST" enctype="multipart/form-data">
  119. <?php $value = ( $_POST['From_Name'] != '' ) ? $_POST['From_Name'] : ''; ?>
  120. <input type="hidden" name="From_Name" value="<?php echo $value; ?>">
  121. <?php $value = ( $_POST['From_Email'] != '' ) ? $_POST['From_Email'] : ''; ?>
  122. <input type="hidden" name="From_Email" value="<?php echo $value; ?>">
  123. <?php $value = ( $_POST['To_Name'] != '' ) ? $_POST['To_Name'] : ''; ?>
  124. <input type="hidden" name="To_Name" value="<?php echo $value; ?>">
  125. <?php $value = ( $_POST['To_Email'] != '' ) ? $_POST['To_Email'] : ''; ?>
  126. <input type="hidden" name="To_Email" value="<?php echo $value; ?>">
  127. <?php $value = ( $_POST['cc_Email'] != '' ) ? $_POST['cc_Email'] : ''; ?>
  128. <input type="hidden" name="cc_Email" value="<?php echo $value; ?>">
  129. <?php $value = ( $_POST['bcc_Email'] != '' ) ? $_POST['bcc_Email'] : ''; ?>
  130. <input type="hidden" name="bcc_Email" value="<?php echo $value; ?>">
  131. <?php $value = ( $_POST['Subject'] != '' ) ? $_POST['Subject'] : ''; ?>
  132. <input type="hidden" name="Subject" value="<?php echo $value; ?>">
  133. <?php $value = ( $_POST['Message'] != '' ) ? $_POST['Message'] : ''; ?>
  134. <input type="hidden" name="Message" value="<?php echo $value; ?>">
  135. <?php $value = ( $_POST['test_type'] != '' ) ? $_POST['test_type'] : 'mail'; ?>
  136. <input type="hidden" name="test_type" value="<?php echo $value; ?>">
  137. <?php $value = ( $_POST['smtp_debug'] != '' ) ? $_POST['smtp_debug'] : $CFG['smtp_debug']; ?>
  138. <input type="hidden" name="smtp_debug" value="<?php echo $value; ?>">
  139. <?php $value = ( $_POST['smtp_server'] != '' ) ? $_POST['smtp_server'] : $CFG['smtp_server']; ?>
  140. <input type="hidden" name="smtp_server" value="<?php echo $value; ?>">
  141. <?php $value = ( $_POST['smtp_port'] != '' ) ? $_POST['smtp_port'] : $CFG['smtp_port']; ?>
  142. <input type="hidden" name="smtp_port" value="<?php echo $value; ?>">
  143. <?php $value = ( $_POST['smtp_authenticate'] != '' ) ? $_POST['smtp_authenticate'] : $CFG['smtp_authenticate']; ?>
  144. <input type="hidden" name="smtp_authenticate" value="<?php echo $value; ?>">
  145. <?php $value = ( $_POST['authenticate_username'] != '' ) ? $_POST['authenticate_username'] : $CFG['smtp_username']; ?>
  146. <input type="hidden" name="authenticate_username" value="<?php echo $value; ?>">
  147. <?php $value = ( $_POST['authenticate_password'] != '' ) ? $_POST['authenticate_password'] : $CFG['smtp_password']; ?>
  148. <input type="hidden" name="authenticate_password" value="<?php echo $value; ?>">
  149. <input type="submit" value="Start Over" name="submit">
  150. </form><br />
  151. <br />
  152. Script:<br />
  153. <pre class="brush: php;">
  154. class phpmailerAppException extends Exception {
  155. public function errorMessage() {
  156. $errorMsg = '<strong>' . $this->getMessage() . "</strong><br />";
  157. return $errorMsg;
  158. }
  159. }
  160. try {
  161. $to = <?php echo $_POST['To_Email']; ?>;
  162. if(filter_var($to, FILTER_VALIDATE_EMAIL) === FALSE) {
  163. throw new phpmailerAppException("Email address " . $to . " is invalid -- aborting!<br />");
  164. }
  165. } catch (phpmailerAppException $e) {
  166. echo $e->errorMessage();
  167. return false;
  168. }
  169. require_once("../class.phpmailer.php");
  170. $mail = new PHPMailer();
  171. <?php
  172. if ( $_POST['Message'] == '' ) {
  173. echo '$body = $mail->getFile(\'contents.html\');' . "\n";
  174. echo '$body = eregi_replace("[\]",\'\',$body);' . "\n";
  175. } else {
  176. echo '$body = ' . $_POST['Message'] . "\n";
  177. }
  178. echo "\n";
  179. if ( $_POST['test_type'] == "smtp" ) {
  180. echo '$mail->IsSMTP(); // telling the class to use SMTP' . "\n";
  181. echo '$mail->SMTPDebug = ' . $_POST['smtp_debug'] . "\n";
  182. echo '$mail->SMTPAuth = ' . $_POST['smtp_authenticate']; // enable SMTP authentication' . "\n";
  183. echo '$mail->Port = ' . $_POST['smtp_port']; // set the SMTP port' . "\n";
  184. echo '$mail->Host = ' . $_POST['smtp_server']; // SMTP server' . "\n";
  185. echo '$mail->Username = ' . $_POST['authenticate_username']; // SMTP account username' . "\n";
  186. echo '$mail->Password = ' . $_POST['authenticate_password']; // SMTP account password' . "\n";
  187. } elseif ( $_POST['test_type'] == "mail" ) {
  188. echo '$mail->IsMail(); // telling the class to use PHP\'s Mail()' . "\n";
  189. } elseif ( $_POST['test_type'] == "sendmail" ) {
  190. echo '$mail->IsSendmail(); // telling the class to use Sendmail' . "\n";
  191. } elseif ( $_POST['test_type'] == "qmail" ) {
  192. echo '$mail->IsQmail(); // telling the class to use Qmail' . "\n";
  193. }
  194. ?>
  195. $mail->AddReplyTo('<?php echo $_POST['From_Email']; ?>','<?php echo $_POST['From_Name']; ?>');
  196. $mail->From = '<?php echo $_POST['From_Email']; ?>';
  197. $mail->FromName = '<?php echo $_POST['From_Name']; ?>';
  198. <?php
  199. if ( $_POST['To_Name'] != '' ) {
  200. ?>
  201. $mail->AddAddress('<?php echo $to; ?>','<?php echo $_POST['To_Name']; ?>');
  202. <?php
  203. } else {
  204. ?>
  205. $mail->AddAddress('<?php echo $to; ?>');
  206. <?php
  207. }
  208. if ( $_POST['bcc_Email'] != '' ) {
  209. $indiBCC = explode(" ", $_POST['bcc_Email']);
  210. foreach ($indiBCC as $key => $value) {
  211. echo '$mail->AddBCC(\'' . $value . '\');<br />';
  212. }
  213. }
  214. if ( $_POST['cc_Email'] != '' ) {
  215. $indiCC = explode(" ", $_POST['cc_Email']);
  216. foreach ($indiCC as $key => $value) {
  217. echo '$mail->AddCC(\'' . $value . '\');<br />';
  218. }
  219. }
  220. ?>
  221. $mail->Subject = <?php echo $_POST['Subject']; ?> (PHPMailer test using <?php echo strtoupper($_POST['test_type']); ?>)
  222. require_once('../class.html2text.inc.php');
  223. $h2t =& new html2text($body);
  224. $mail->AltBody = $h2t->get_text();
  225. $mail->WordWrap = 80; // set word wrap
  226. $mail->MsgHTML($body);
  227. $mail->AddAttachment("images/aikido.gif", "aikido.gif"); // optional name
  228. $mail->AddAttachment("images/phpmailer.gif", "phpmailer.gif"); // optional name
  229. try {
  230. if ( !$mail->Send() ) {
  231. $error = "Unable to send to: " . $to . "<br />";
  232. throw new phpmailerAppException($error);
  233. } else {
  234. echo 'Message has been sent using <?php echo strtoupper($_POST['test_type']); ?><br /><br />';
  235. }
  236. } catch (phpmailerAppException $e) {
  237. $errorMsg[] = $e->errorMessage();
  238. }
  239. if ( count($errorMsg) > 0 ) {
  240. foreach ($errorMsg as $key => $value) {
  241. $thisError = $key + 1;
  242. echo $thisError . ': ' . $value;
  243. }
  244. }
  245. </pre>
  246. <?php
  247. } else {
  248. ?>
  249. <style>
  250. body {
  251. font-family: Arial, Helvetica, Sans-Serif;
  252. font-size: 11px;
  253. }
  254. td {
  255. font-size: 11px;
  256. }
  257. td.colleft {
  258. align: right;
  259. text-align: right;
  260. width: 30%;
  261. }
  262. td.colrite {
  263. text-align: left;
  264. width: 70%;
  265. }
  266. </style>
  267. <form method="POST" enctype="multipart/form-data">
  268. <table border="1" width="900" cellspacing="0" cellpadding="5" style="border-collapse: collapse" bgcolor="#C0C0C0">
  269. <tr>
  270. <td valign="top";><strong>Message</strong><br /><br />
  271. <table border="1" width="450" cellspacing="0" cellpadding="5" style="border-collapse: collapse;" bgcolor="#FFFFFF">
  272. <tr>
  273. <td class="colleft">From Name</td>
  274. <?php $value = ( $_POST['From_Name'] != '' ) ? $_POST['From_Name'] : ''; ?>
  275. <td class="colrite"><input type="text" name="From_Name" value="<?php echo $value; ?>" style="width:99%;"></td>
  276. </tr>
  277. <tr>
  278. <td class="colleft">From Email Address</td>
  279. <?php $value = ( $_POST['From_Email'] != '' ) ? $_POST['From_Email'] : ''; ?>
  280. <td class="colrite"><input type="text" name="From_Email" value="<?php echo $value; ?>" style="width:99%;"></td>
  281. </tr>
  282. <tr>
  283. <td class="colleft">To Name</td>
  284. <?php $value = ( $_POST['To_Name'] != '' ) ? $_POST['To_Name'] : ''; ?>
  285. <td class="colrite"><input type="text" name="To_Name" value="<?php echo $value; ?>" style="width:99%;"></td>
  286. </tr>
  287. <tr>
  288. <td class="colleft">To Email Address</td>
  289. <?php $value = ( $_POST['To_Email'] != '' ) ? $_POST['To_Email'] : ''; ?>
  290. <td class="colrite"><input type="text" name="To_Email" value="<?php echo $value; ?>" style="width:99%;"></td>
  291. </tr>
  292. <tr>
  293. <td class="colleft">cc Email Addresses <small>(separate with commas)</small></td>
  294. <?php $value = ( $_POST['cc_Email'] != '' ) ? $_POST['cc_Email'] : ''; ?>
  295. <td class="colrite"><input type="text" name="cc_Email" value="<?php echo $value; ?>" style="width:99%;"></td>
  296. </tr>
  297. <tr>
  298. <td class="colleft">bcc Email Addresses <small>(separate with commas)</small></td>
  299. <?php $value = ( $_POST['bcc_Email'] != '' ) ? $_POST['bcc_Email'] : ''; ?>
  300. <td class="colrite"><input type="text" name="bcc_Email" value="<?php echo $value; ?>" style="width:99%;"></td>
  301. </tr>
  302. <tr>
  303. <td class="colleft">Subject</td>
  304. <?php $value = ( $_POST['Subject'] != '' ) ? $_POST['Subject'] : ''; ?>
  305. <td class="colrite"><input type="text" name="Subject" value="<?php echo $value; ?>" style="width:99%;"></td>
  306. </tr>
  307. <tr>
  308. <td class="colleft">Message<br /><small>If blank, will use content.html</small></td>
  309. <?php $value = ( $_POST['Message'] != '' ) ? $_POST['Message'] : ''; ?>
  310. <td class="colrite"><textarea name="Message" style="width:99%;height:50px;"><?php echo $value; ?></textarea></td>
  311. </tr>
  312. </table>
  313. </td>
  314. <td valign="top"><strong>Mail Test Specs</strong><br /><br />
  315. <table border="1" width="450" cellspacing="0" cellpadding="5" style="border-collapse: collapse;" bgcolor="#FFFFFF">
  316. <tr>
  317. <td class="colleft">Test Type</td>
  318. <td class="colrite"><table>
  319. <tr>
  320. <td><input type="radio" name="test_type" value="mail" <?php echo ( $_POST['test_type'] == 'mail') ? 'checked' : ''; ?>></td>
  321. <td>Mail()</td>
  322. </tr>
  323. <tr>
  324. <td><input type="radio" name="test_type" value="sendmail" <?php echo ( $_POST['test_type'] == 'sendmail') ? 'checked' : ''; ?>></td>
  325. <td>Sendmail</td>
  326. </tr>
  327. <tr>
  328. <td><input type="radio" name="test_type" value="qmail" <?php echo ( $_POST['test_type'] == 'qmail') ? 'checked' : ''; ?>></td>
  329. <td>Qmail</td>
  330. </tr>
  331. <tr>
  332. <td><input type="radio" name="test_type" value="smtp" <?php echo ( $_POST['test_type'] == 'smtp') ? 'checked' : ''; ?>></td>
  333. <td>SMTP</td>
  334. </tr>
  335. </table>
  336. </td>
  337. </tr>
  338. </table>
  339. If SMTP test:<br />
  340. <table border="1" width="450" cellspacing="0" cellpadding="5" style="border-collapse: collapse;" bgcolor="#FFFFFF">
  341. <tr>
  342. <td class="colleft">SMTP Debug ?</td>
  343. <?php $value = ( $_POST['smtp_debug'] != '' ) ? $_POST['smtp_debug'] : $CFG['smtp_debug']; ?>
  344. <td class="colrite"><select size="1" name="smtp_debug">
  345. <option <?php echo ( $value == '0') ? 'selected' : ''; ?> value="0">0 - Disabled</option>
  346. <option <?php echo ( $value == '1') ? 'selected' : ''; ?> value="1">1 - Errors and Messages</option>
  347. <option <?php echo ( $value == '2') ? 'selected' : ''; ?> value="2">2 - Messages only</option>
  348. </select></td>
  349. </tr>
  350. <tr>
  351. <td class="colleft">SMTP Server</td>
  352. <?php $value = ( $_POST['smtp_server'] != '' ) ? $_POST['smtp_server'] : $CFG['smtp_server']; ?>
  353. <td class="colrite"><input type="text" name="smtp_server" value="<?php echo $value; ?>" style="width:99%;"></td>
  354. </tr>
  355. <tr>
  356. <td class="colleft">SMTP Port</td>
  357. <?php $value = ( $_POST['smtp_port'] != '' ) ? $_POST['smtp_port'] : $CFG['smtp_port']; ?>
  358. <td class="colrite"><input type="text" name="smtp_port" value="<?php echo $value; ?>" style="width:99%;"></td>
  359. </tr>
  360. <tr>
  361. <td class="colleft">SMTP Authenticate ?</td>
  362. <?php $value = ( $_POST['smtp_authenticate'] != '' ) ? $_POST['smtp_authenticate'] : $CFG['smtp_authenticate']; ?>
  363. <td class="colrite"><input type="checkbox" name="smtp_authenticate" <?php if ($value!=''){ echo "checked";} ?> value="<?php echo $value; ?>"></td>
  364. </tr>
  365. <tr>
  366. <td class="colleft">Authenticate Username</td>
  367. <?php $value = ( $_POST['authenticate_username'] != '' ) ? $_POST['authenticate_username'] : $CFG['smtp_username']; ?>
  368. <td class="colrite"><input type="text" name="authenticate_username" value="<?php echo $value; ?>" style="width:99%;"></td>
  369. </tr>
  370. <tr>
  371. <td class="colleft">Authenticate Password</td>
  372. <?php $value = ( $_POST['authenticate_password'] != '' ) ? $_POST['authenticate_password'] : $CFG['smtp_password']; ?>
  373. <td class="colrite"><input type="password" name="authenticate_password" value="<?php echo $value; ?>" style="width:99%;"></td>
  374. </tr>
  375. </table>
  376. </td>
  377. </tr>
  378. </table>
  379. <br />
  380. Test will include two attachments, plus one of the attachments is used as an inline graphic in the message body.<br />
  381. <br />
  382. <input type="submit" value="Submit" name="submit">
  383. </form>
  384. <?php
  385. }
  386. ?>