habe ich die nächste Klasse:Symfony2 senden E-Mail aus dem Dienst
//src/AppBundle/Services/RegisterMail.php namespace AppBundle\Services; class RegisterMail{ protected $mailer; public function __construct($mailer) { $this->mailer = $mailer; } public function sendPassword(){ $message = \Swift_Message::newInstance() ->setSubject('Otro correo') ->setFrom('[email protected]') ->setTo('[email protected]') ->setBody('hola desde el servicio') ; $envia = $this->mailer->send($message); } }
Und ich erkläre es als Dienst in meinem services.yml
services: registermail: class: AppBundle\Services\RegisterMail arguments: [@mailer]
In meinem Controller Aufruf des Dienstes:
//src/AppBundle/Controller/DefaultController
namespace AppBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
class DefaultController extends Controller
{
/**
* @Route("/")
*/
public function indexAction()
{
//Envío el email con el password
$mailer = $this->get('registermail');
$mailer->sendPassword();
return $this->render(':Default:index.html.twig');
}
}
Die E-Mail wird gesendet, aber die Seite wird immer noch 30 Sekunden geladen, und ich habe eine Warnung von der Entwicklersymbolleiste: "Beim Laden ist ein Fehler aufgetreten die Web-Debug-Symbolleiste (404: nicht gefunden). Möchten Sie den Profiler öffnen? Wenn Accept die Nachricht Symfony Profiler zeigt keinen Fehler. Wenn die Nachrichtenentwickler-Symbolleiste abbrechen wird nicht angezeigt.
Was mache ich falsch?
Vielen Dank!
Vielen Dank für Ihre Antworten und Entschuldigung für die Verzögerung. @lyberteam, als ich Ihren Code zu setzen, erhalte ich diese Fehlermeldung: Notice: Undefined variable: Mailer 500 Fehler Internal Server - ContextErrorException hier: $ email = $ mailer-> Create() Jeden Vorschlag? Vielen Dank – RL83