php mail () throws & ldquo; 550 Максимальная длина строки превышена & rdquo; ошибка на почтовом сервере [дубликат]

Вот тривиальное решение без учета регистра:

function hasClass(element, classNameToTestFor) {
    var classNames = element.className.split(' ');
    for (var i = 0; i < classNames.length; i++) {
        if (classNames[i].toLowerCase() == classNameToTestFor.toLowerCase()) {
            return true;
        }
    }
    return false;
}
39
задан Abadis 28 June 2012 в 07:28
поделиться

8 ответов

Это довольно просто, оставьте изображения на сервере и отправьте им PHP + CSS ...

$to = 'bob@example.com';

$subject = 'Website Change Reqest';

$headers = "From: " . strip_tags($_POST['req-email']) . "\r\n";
$headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n";
$headers .= "CC: susan@example.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

$message = '<p><strong>This is strong text</strong> while this is not.</p>';


mail($to, $subject, $message, $headers);

Именно эта строка сообщает почтовой программе и получателю, что письмо содержит (надеюсь) хорошо сформированный HTML, который ему нужно будет интерпретировать:

$headers .= "Content-Type: text/html; charset=UTF-8\r\n";

Вот ссылка, в которой я получил информацию .. ( link ... )

Вам понадобится безопасность, хотя ...

91
ответ дан Chris 26 August 2018 в 05:42
поделиться

У меня есть этот код, и он отлично работает для моего сайта

  public function forgotpassword($pass,$name,$to)
    {
        $body ="<table  width=100% border=0><tr><td>";
        $body .= "<img width=200 src='";
        $body .= $this->imageUrl();
        $body .="'></img></td><td style=position:absolute;left:350;top:60;><h2><font color = #346699>PMS Pvt Ltd.</font><h2></td></tr>";
        $body .='<tr><td colspan=2><br/><br/><br/><strong>Dear '.$name.',</strong></td></tr>';
        $body .= '<tr><td colspan=2><br/><font size=3>As per Your request we send Your Password.</font><br/><br/>Password is : <b>'.$pass.'</b></td></tr>';
        $body .= '<tr><td colspan=2><br/>If you have any questions, please feel free to contact us at:<br/><a href="mailto:support@pms.com" target="_blank">support@pms.com</a></td></tr>';
        $body .= '<tr><td colspan=2><br/><br/>Best regards,<br>The PMS Team.</td></tr></table>';
        $subject = "Forgot Password";
        $this->sendmail($body,$to,$subject);
    }

функция почты

   function sendmail($body,$to,$subject)
        {
            //require_once 'init.php';


            $from='testing@gmail.com';      
            $headersfrom='';
            $headersfrom .= 'MIME-Version: 1.0' . "\r\n";
            $headersfrom .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
            $headersfrom .= 'From: '.$from.' '. "\r\n";
            mail($to,$subject,$body,$headersfrom);
        }

Функция URL-адреса изображения используется, если вы хотите изменить изображение у вас есть изменение только в одной функции у меня есть много почтовых функций, таких как забытый пароль создать пользователя там, где я использую функцию URL изображения, которую вы можете установить напрямую.

function imageUrl()
    {
        return "http://".$_SERVER['SERVER_NAME'].substr($_SERVER['SCRIPT_NAME'], 0, strrpos($_SERVER['SCRIPT_NAME'], "/")+1)."images/capacity.jpg";
    }
8
ответ дан Jalpesh Patel 26 August 2018 в 05:42
поделиться

Вам нужно закодировать свой html, используя абсолютный путь для изображений. По Абсолютному пути означает, что вы должны загружать изображения на сервере и в атрибут src изображений, которые вы должны указать прямому пути, подобному этому <img src="http://yourdomain.com/images/example.jpg">.

Ниже приведен код PHP для вашей референции : - Его взято из http://www.php.net/manual/en/function.mail.php

<?php
// multiple recipients
$to  = 'aidan@example.com' . ', '; // note the comma
$to .= 'wez@example.com';

// subject
$subject = 'Birthday Reminders for August';

// message
$message = '
  <p>Here are the birthdays upcoming in August!</p>
';

// To send HTML mail, the Content-type header must be set
$headers  = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";

// Additional headers
$headers .= 'To: Mary <mary@example.com>, Kelly <kelly@example.com>' . "\r\n";
$headers .= 'From: Birthday Reminder <birthday@example.com>' . "\r\n";


// Mail it
mail($to, $subject, $message, $headers);
?>
16
ответ дан John 26 August 2018 в 05:42
поделиться

Вы можете легко отправить электронное письмо с содержимым HTML через PHP. Используйте следующий скрипт.

<?php
$to = 'user@example.com';
$subject = "Send HTML Email Using PHP";

$htmlContent = '
<html>
<body>
    <h1>Send HTML Email Using PHP</h1>
    <p>This is a HTMl email using PHP by CodexWorld</p>
</body>
</html>';

// Set content-type header for sending HTML email
$headers = "MIME-Version: 1.0" . "\r\n";
$headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

// Additional headers
$headers .= 'From: CodexWorld<info@codexworld.com>' . "\r\n";
$headers .= 'Cc: welcome@example.com' . "\r\n";
$headers .= 'Bcc: welcome2@example.com' . "\r\n";

// Send email
if(mail($to,$subject,$htmlContent,$headers)):
    $successMsg = 'Email has sent successfully.';
else:
    $errorMsg = 'Email sending fail.';
endif;
?>

Исходный код и живая демонстрация можно найти здесь - Отправить красивую электронную почту HTML с помощью PHP

2
ответ дан JoyGuru 26 August 2018 в 05:42
поделиться

Простейшим способом, вероятно, является просто использование Zend Framework или любой другой структуры, такой как CakePHP или Symphony.

Вы можете сделать это со стандартной функцией mail, но вам понадобится немного больше знаний о том, как прикреплять изображения.

Кроме того, просто размещайте изображения на сервере, а не присоединяйте их. Отправка HTML-почты документирована в документации по функциям mail.

2
ответ дан Martijn 26 August 2018 в 05:42
поделиться

Фокус в том, чтобы знать идентификатор содержимого части изображения mime при создании части тела html. Это сводится к созданию тега img

https://github.com/horde/horde/blob/master/kronolith/lib/Kronolith.php

Посмотрите на функцию buildMimeMessage для рабочего примера.

1
ответ дан Ralf Lang 26 August 2018 в 05:42
поделиться

Использовать PHPMailer,

Чтобы отправить HTML-почту, вы должны установить только $ mail-> isHTML (), и вы можете установить свое тело с помощью тегов HTML

Вот колодец написанный учебник:

rohitashv.wordpress.com/2013/01/19/how-to-send-mail-using-php /

1
ответ дан Rohitashv Singhal 26 August 2018 в 05:42
поделиться

Отправка html-адреса не сильно отличается от отправки обычных сообщений электронной почты с использованием php. Что необходимо добавить, это тип контента по параметру заголовка функции php mail (). Вот пример.

<?php
    $to = "toEmail@domain.com";
    $subject = "HTML email";
    $message = "
    <html>
    <head>
    <title>HTML email</title>
    </head>
    <body>
    <p>A table as email</p>
    <table>
    <tr>
    <th>Firstname</th>
    <th>Lastname</th>
    </tr>
    <tr>
    <td>Fname</td>
    <td>Sname</td>
    </tr>
    </table>
    </body>
    </html>
    ";
    // Always set content-type when sending HTML email
    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\b";
    $headers .= 'From: name' . "\r\n";
    mail($to,$subject,$message,$headers);
?>

Вы также можете проверить здесь для более подробных объяснений со стороны w3schools

5
ответ дан User 26 August 2018 в 05:42
поделиться
Другие вопросы по тегам:

Похожие вопросы: