Мне нужно знать, как лучше всего отправлять несколько писем с помощью php. Он не должен храниться в спаме, а также должен быть отправлен быстро.
Я уже пробовал обычную почтовую функцию в PHP. Но это не работает хорошо. Также пытался использовать функцию почты в цикле. Только несколько отправленных писем, и некоторые из них попали в папку со спамом.
Мой проект работает на живом сервере. И я пользуюсь бесплатным хостингом.
Мой код:
<?php
include "initialize.php";
if($source_url!='http://kalaivanan.byethost18.com/uadmin/send_result.php')
{
echo "Access Denied";
}
else
{
$id=$_GET['id'];
$get_sem_period1=mysqli_query($con, "SELECT * FROM sem_period where id='$id' ");
$get_sem_period=mysqli_fetch_array($get_sem_period1);
$sem_period=$get_sem_period['sem_period'];
$rrr=mysqli_query($con, "SELECT * FROM results where sem_period='$sem_period' ");
$i=1;
while($row=mysqli_fetch_array($rrr))
{
$get_course=mysqli_query($con, "SELECT course,email FROM student_details where reg_no='$row[reg_no]' ");
$get_course1=mysqli_fetch_array($get_course);
$course_name=$get_course1['course'];
$to=$get_course1['email'];
$get_sub1=mysqli_query($con, "SELECT * from course_details where course_name='$course_name' ");
$get_sub=mysqli_fetch_array($get_sub1);
$sem_no=$row['sem_no'];
$subjects=$get_sub['sem'.$sem_no];
$new_subjects=explode(",",$subjects);
$new_marks=explode(",", $row['sem_mark']);
$echo_subject=null;
for($x=0;$x<sizeof($new_subjects);$x++)
{
if($new_marks[$x]>40)
{
$exam_result="Pass";
}
else
{
$exam_result="Fail";
}
$echo_subject .="<tr><td>".$new_subjects[$x].": ".$new_marks[$x]." - ".$exam_result."</td></tr>";
}
$errors='';
$myemail = 'MYEMAIL';
if( empty($errors))
{
$email_subject = "Enquiry Form: Your Results";
echo "Mail id is: ".$to;
echo $email_body = "<table border='1'>
</br> $sem_period Result Will be Announced: Check Your Marks </br> </br>
<tr>
<td> Register Number: ".$row['reg_no']. "</td>
</tr>
<tr>
<td> Course Name: ".$course_name. "</td>
</tr>
<tr>
<td> Semester: ".$sem_no. "</td>
</tr>
<tr>
<td>MARKS ARE:</td>
</tr>
<tr>
<td> ".$echo_subject." </td>
<td> </td>
</tr>
</table>
";
$headers = "From: $myemail\n";
$headers .= "Reply-To: $myemail";
mail($to,$email_subject,$email_body,$headers);
//redirect to the 'thank you' page
echo "<script>alert('Mail Send Successfully');</script>";
}
$email_address="MYEMAIL";
if (!preg_match(
"/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/i",
$email_address))
{
$errors .= "\n Error: Invalid email address";
}
}
}
?>
Мой ответ:
Через 1 год по своему опыту я узнал, что для отправки больших писем без спама мы должны найти хорошего поставщика почтовых услуг.
Вам следует рассмотреть возможность использования службы отправки электронной почты, такой как Amazons SES, или других маркетинговых инструментов, таких как Emma, Mail chimp, sendgrid, mailjet, mandrill и т. Д.
Свободные хосты очень подвержены блокировке почтовыми серверами из-за самой природы использования спама.
Этот вопрос является предметом спора для всех маркетологов. Никто из маркетологов не застрахован, чтобы называться спамером. Это три основные причины, которые влияют на репутацию электронной почты:
A. Технические настройки
B. Содержание и дизайн электронной почты
C. Реакция получателей на ваши электронные письма
Если вы хотите узнать все подробности по этому вопросу, нажмите Вот.
Я впервые написал об этом сообществе, надеюсь, эта статья поможет вам.
Если я правильно понял, вы пытаетесь отправить письма нескольким пользователям. Если так, то попробуйте с массивом & Implode (), как этот скрипт ниже, чтобы отправить несколько электронных писем. Избегайте спама — это то, как вы проходите оценку, как сказано в комментарии frz3993. А также на основе вашего провайдера услуг хостинга, скорости, факторов производительности и т. Д., Измеренных.
Посмотрите, что форматирование этой строки должно соответствовать RFC 2822 в соответствии со стандартом.
<?php
$headers = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=iso-8859-1";
$headers[] = "From: Kalaivanan <[email protected]>";
$headers[] = "Bcc: Alagu <[email protected]>";
$headers[] = "Reply-To: Recipient Name <[email protected]>";
$headers[] = "Subject: {$subject}";
$headers[] = "X-Mailer: PHP/".phpversion();
$receivers = array('[email protected]', '[email protected]', '[email protected]',.... );
mail(implode(',', $receivers), $subject, $message, $implode("\r\n", $headers));
?>
Через несколько лет я многому научился по поводу отправки больших писем. Но основное это я получил по ссылке ниже. Это может быть полезно для вас.