Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

We've moved the forum!

Please use forum.silverstripe.org for any new questions (announcement).
The forum archive will stick around, but will be read only.

You can also use our Slack channel or StackOverflow to ask for help.
Check out our community overview for more options to contribute.

Archive /

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, Ed, biapar, Willr, Ingo

email functionality not working


Go to End


2 Posts   1846 Views

Avatar
Nicolaas

Forum Moderator, 224 Posts

7 February 2008 at 2:47pm

Edited: 07/02/2008 2:49pm

Hi Gurus

On a couple of sites, I have noticed that the email functionality is broken (no emails are sent). To me, it would be more likely that there is something wrong with the server than with silverstripe as such. Question is - how do I work out where the problem lies? Emails sent seem to disappear into a black hole.

A special point to consider is that for my current client, it appears the standard contact form is not working. This can be very frustrating for the client - as they set it up and can not understand why it is not working.

Any thoughts are greatly appreciated.

Nicolaas

Avatar
Nicolaas

Forum Moderator, 224 Posts

10 February 2008 at 6:31pm

Hi Folk

I created the following file:
/mysite/code/emailTestPage.php

----------------------------------------------------------------------------
<?php

class emailTestPage extends Page {

}

class emailTestPage_Controller extends Page_Controller {
var $mailTo = 'myemail@mysite.com';
var $subject = 'subject Line';
var $message = 'message goes here';
var $adminEmail = "myadmin@mysite.com";

function testButtons() {
return '
<ul>
<li><a href="/emailTest/mailExec">test mail functions</a></li>
</ul>';
}

function getAdminAdress () {
Email::setAdminEmail($this->adminEmail);
return "<br />admin email address is: ".Email::getAdminEmail();
}

function mailExec() {
if( mail($this->mailTo, $this->subject, $this->message) ) {
$v .= '<br />message sent to '.$this->mailTo.' using php mail function';
}
else {
$v .= '<br />could not send message to '.$this->mailTo.' using php mail function';
}
$e = new Email($this->adminEmail, $this->mailTo, $this->subject, $message);
$outcome = $e->send();
$v .= 'the outcome of sending an email using silverstripe was as follows: '.$outcome;
return $v;
}

}
----------------------------------------------------------------------------

and the following template:
/mysite/templates/layout/

----------------------------------------------------------------------------
$testButtons
$getAdminAdress
----------------------------------------------------------------------------

It showed me that there was nothing wrong with the email function so it must be in the templating in /cms/code/PageTypes/UserDefinedForm.php - not sure what it is....

Any help appreciated.

Nicolaas