[英]How to send a longer mail with php
我一直在嘗試使用PHP發送電子郵件,但是每當消息太長時,就不會發送郵件。
這是我到目前為止的內容:
$name= $_POST["name"];
$email= $_POST["email"];
$comment= $_POST["text"];
$msg= "Naam: " . $name . "\r\nEmail: " . $email . "\r\nBericht: " . $comment;
mail("test.test@live.nl", "Website", $msg);
我不建議您采用這種方式,因為電子郵件可能會成為垃圾郵件。
我建議您使用phpmailer。
我給你舉個例子:
try {
$mail = new PHPMailer(true);
//Server settings
$mail->isSMTP();
$mail->SMTPDebug = 0; // Enable verbose debug output
$mail->Host = 'smtp.gmail.com'; // Specify main and backup SMTP servers
$mail->SMTPAuth = true; // Enable SMTP authentication
$mail->Username = 'example@example.com'; // SMTP username
$mail->Password = 'pass'; // SMTP password
$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
$mail->Port = 587; // TCP port to connect to
$mail->SMTPOptions = array(
'ssl' => array(
'verify_peer' => false,
'verify_peer_name' => false,
'allow_self_signed' => true
)
);
//Recipients
$mail->setFrom('example@example.com', 'name');
if(is_array($this->Emails)){
foreach($this->Emails as $email){
$mail->addAddress($email); // Add a recipient
}
}
else{
$mail->addAddress($this->Emails); // Add a recipient
}
if(isset($this->Attachments)){
if(is_array($this->Attachments)){
foreach($this->Attachments as $Attachment){
$mail->addAttachment($Attachment); // Add attachments
}
}
else{
$mail->addAttachment($this->Attachments); // Add attachments
}
}
//Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = $this->Subject;
$mail->Body = $this->Body;
$mail->send();
return true;
我之所以建議這樣做,是因為您現在用PHP發送電子郵件的方法已經過時了,它將為您省去很多麻煩。
composer require swiftmailer/swiftmailer
安裝Swiftmailer composer require swiftmailer/swiftmailer
輕松管理電子郵件
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.