如何使CodeIgniter在发送电子邮件时尊重消息上的换行符

如何使CodeIgniter在发送电子邮件时尊重消息上的换行符,codeigniter,Codeigniter,如何使codeigniter在尊重消息字段中的换行符的同时发送电子邮件 表格信息- 有什么想法吗?为什么不发送带有html的电子邮件 首先,您必须准备消息(我假设您正在使用POST) 您所做的是将新行替换为 然后您只需要加载lib并通过config正确设置它,例如: $this->load->library('email'); $config['mailtype'] = 'html'; $this->email->initialize($config); $this

如何使codeigniter在尊重消息字段中的换行符的同时发送电子邮件

表格信息-


有什么想法吗?

为什么不发送带有html的电子邮件

首先,您必须准备消息(我假设您正在使用POST)

您所做的是将新行替换为

然后您只需要加载lib并通过config正确设置它,例如:

$this->load->library('email');

$config['mailtype'] = 'html';
$this->email->initialize($config);


$this->email->from('your@example.com', 'Your Name');
$this->email->to('someone@example.com');

$this->email->subject('Email Test');
$this->email->message( $message );

$this->email->send();
就这样!我希望这有帮助

你可以在上获得更多信息 希望你能抽出时间来阅读


只需补充一点,您可以使用
nl2br
简单地简化此过程。像这样:

$message = nl2br($this->input->post('message')); // https://codeigniter.com/user_guide/libraries/input.html

$this->load->library('email'); // use autoload.php to remove this line
$this->email->mailtype = 'html';

另外,如果您想创建一个随时使用的配置文件,您实际上可以创建一个配置文件,CI将自动使用它,因此您无需使用
->初始化
。为此,只需遵循以下简单步骤:

  • application\config目录中,创建一个名为email.php的文件
  • 然后,您可以简单地在该文件中写入配置,如下所示:



中提琴!你完了。就这么简单!现在只需调用您的电子邮件类并像往常一样使用,无需配置
mailtype
。您可以在标题下看到
电子邮件配置
选项的完整列表。别忘了,您可以使用自动加载
电子邮件
库,从而删除此行
$this->load->library('email')从您的代码中。

我们可以看到您传递给电子邮件加载的配置数组吗?这对我来说很有用,只需稍作更改$message=str\u replace(“\n”,“
”,$result('message');你也可以用一个简单的
$this->email->mailtype='html'来替换那些
config
的文件,也不要忘记
$message = str_replace ("\r\n", "<br>", $this->input->post('message') );
$message = str_replace ("\r\n", "<br>", $_POST['message'] );
$this->load->library('email');

$config['mailtype'] = 'html';
$this->email->initialize($config);


$this->email->from('your@example.com', 'Your Name');
$this->email->to('someone@example.com');

$this->email->subject('Email Test');
$this->email->message( $message );

$this->email->send();
$message = nl2br($this->input->post('message')); // https://codeigniter.com/user_guide/libraries/input.html

$this->load->library('email'); // use autoload.php to remove this line
$this->email->mailtype = 'html';
`$config['mailtype'] = 'html';`