我想通过我的数据库使用whiteoctober软件包来假脱机电子邮件。到目前为止,我已经按照安装进行了操作,但现在我已经停留在电子邮件实体本身的设置中(我知道..)
所以他们提供了这个应该在我自己的电子邮件实体中实现的EmailInterface(https://github.com/whiteoctober/WhiteOctoberSwiftMailerDBBundle/blob/master/EmailInterface.php)。文档说:
您需要创建一个可以持久保存的实体,该实体可以从捆绑包中的EmailInterface接口扩展。在 当时,捆绑包期望您的实体可以使用该属性 调用' status',因为此字段被查询。
完成所有实体的设置后,请使用完整的命名空间路径 你的config.yml配置如上所述。
我有以下需求:
由于发生了不同的操作,会向多个用户发送电子邮件 在申请中。但是,电子邮件应该单独发送 所以" To"中只有一个用户字段
用户应该能够接收电子邮件(每天可能收到一两封电子邮件) - >但是,可能会发生这样的情况:用户被分配到多个电子邮件,但他仍然应该只被添加到数据库一次!
除此之外,该软件包提供了消息,状态和环境作为属性,我说实话 - 并非100%确定如何实现它们。
所以这就是我到目前为止所做的:
<?php
namespace NewsBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
use WhiteOctober\SwiftMailerDBBundle\EmailInterface;
/**
* @ORM\Entity
* @ORM\Table(name="news_email")
*/
class Email implements EmailInterface
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\OneToMany(targetEntity="UserBundle\Entity\User", mappedBy="spooledEmail", cascade={"persist"})
*
*/
protected $whereTo;
/**
* @ORM\Column(type="string", name="subject")
*/
protected $subject;
/**
* @ORM\Column(type="text", name="message")
*/
protected $message;
/**
* @ORM\Column(type="string", name="status")
*/
protected $status;
/**
* @ORM\Column(type="string", name="environment")
*/
protected $environment;
/**
* @return string
*/
public function getMessage()
{
return $this->message;
}
/**
* @param $message string Serialized \Swift_Mime_Message
*/
public function setMessage($message)
{
$this->message = $message;
return $this;
}
/**
* @return string
*/
public function getStatus()
{
return $this->status;
}
/**
* @param $status string
*/
public function setStatus($status)
{
$this->status = $status;
return $this;
}
/**
* @return string
*/
public function getEnvironment()
{
return $this->environment;
}
/**
* @param $environment string
*/
public function setEnvironment($environment)
{
$this->environment = $environment;
return $this;
}
}
所以我设置了它并更新了数据库。但是我现在如何使用捆绑包呢?我该如何发送电子邮件等?我觉得文档并没有为非专业人士提供足够的信息。
答案 0 :(得分:0)
您可能正在寻找的命令是
doctrine:generate:entities NewsBundle:Email
生成吸气剂&amp; setters(注意entities
而不是entity
)。
希望它有所帮助
答案 1 :(得分:0)
根据我从文档中理解的内容,您需要更新数据库架构,然后配置swiftmail以使用它:
# app/config/config.yml
white_october_swift_mailer_db:
keep_sent_messages: true
您是否进行过任何测试以确定其是否有效?