Source of file SendMailTest.php
Size: 2,539 Bytes - Last Modified: 2021-12-23T10:47:13+00:00
/var/www/docs.ssmods.com/process/src/src/Tasks/SendMailTest.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 | <?php namespace Sunnysideup\EmailTest\Tasks; use SilverStripe\Control\Director; use SilverStripe\Control\Email\Email; use SilverStripe\Core\Convert; use SilverStripe\Dev\BuildTask; class SendMailTest extends BuildTask { protected $title = 'Test if emails are working'; private static $segment = 'testemail'; public function run($request) { $from = $request->getVar('from') ?: 'webmaster@' . Director::host(); $to = $request->getVar('to') ?: 'support@' . Director::host(); $subject = $request->getVar('subject') ?: 'testing email'; $message = $request->getVar('message') ?: 'Message goes here'; if (Director::is_cli()) { echo ' from: ' . Convert::raw2att($from) . ' to: ' . Convert::raw2att($to) . ' subject:' . Convert::raw2att($subject) . '" /><br/><br/> message: ' . Convert::raw2att($message) . ' Change values like this: sake dev/tasks/testemail to=a@b.com from=c@d.com subject=test message=hello '; } else { echo ' <style> input {width: 80vw; max-width: 500px; padding: 5px;} </style> <form action="" method="get"> from: <br/><input name="from" value="' . Convert::raw2att($from) . '" /><br/><br/> to: <br/><input name="to" value="' . Convert::raw2att($to) . '" /><br/><br/> subject: <br/><input name="subject" value="' . Convert::raw2att($subject) . '" /><br/><br/> message: <br/><input name="message" value="' . Convert::raw2att($message) . '" /><br/><br/> <input type="submit" /> </form> '; } if($request->getVar('from')) { if (Director::is_cli()) { echo ' ========================== Outcome ========================== '; } else { echo '<h1>Outcome</h1>'; } $outcome = mail($to, $subject . ' raw mail', $message); echo 'PHP mail sent: ' . ($outcome ? 'YES' : 'NO') . $this->newLine(); $email = new Email($from, $to, $subject . ' silverstripe message', $message); $outcome = $email->sendPlain(); echo 'Silverstripe e-mail sent: ' . ($outcome ? 'YES' : 'NO') . $this->newLine(); } } protected function newLine() { if (Director::is_cli()) { return ' '; } return '<br /><br />'; } } |