-5

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 年後、私の経験では、スパムなしで大きなメールを送信するには、優れたメール サービス プロバイダーを見つける必要があることを学びました。

4

4 に答える 4

1

この質問は、すべてのマーケティング担当者にとって論争の問題です。スパマーと呼ばれることを免れるマーケターは一人もいません。これらは、電子メールの評判に影響を与える 3 つの主な理由です。

  1. テクニカルセッティング。
  2. メールの内容とデザイン。
  3. 一括メールへの反応。

A.技術設定

  1. メールは正しい形式である必要があります。メールのフォーマットを確認するには、SPF および DKIM チェックアウトを実行する必要があります。
  2. 大量のメールで特別なヘッダーを使用して、送信内容を人々に知らせます。
  3. メールに登録解除リンクを追加することを忘れないでください。見やすく、適切なサイズとフォントの色を使用してください。
  4. IP アドレスとドメインの評判は高くなければなりません。

B.メールの内容とデザイン

  1. 割引、収入、お金、小切手、その他多くの単語など、メールでスパム ワードを使用しないでください。
  2. メールで使用したリンクは非常に重要です。疑わしいリソースからリンクを取得しないでください。そうでなければ、詐欺の可能性があります。
  3. メールはプレーン テキスト バージョンである必要があります。

C.一括メールに対する受信者の反応

  1. すべての電子メールには、受信者が購読を解除するための購読解除リンクが含まれている必要がありますが、スパムとしてマークされることはありません。
  2. 差出人の名前と住所は、受信者によく知られています。
  3. メール送信の頻度: - 毎日メールを送信しないでください。最適な頻度は週に 1 回以下です。

これに関する完全なポイントを知りたい場合は、ここをクリックしてください

私はこのコミュニティで初めて書いたので、この記事がお役に立てば幸いです

于 2018-04-27T06:26:47.503 に答える
0

私の理解が正しければ、複数のユーザーにメールを送信しようとしています。その場合は、以下のスクリプトのように array & implode() を使用して、複数のメールを送信してみてください。コメントで frz3993 が言ったように、スパムを避けることがスコアリングに合格する方法です。また、ホスティング サービス プロバイダーに基づいて、速度、パフォーマンス要因などを測定します。

この文字列のフォーマットは、 Standard に従って RFC 2822 に準拠している必要があります。

<?php
$headers   = array();
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-type: text/plain; charset=iso-8859-1";
$headers[] = "From: Kalaivanan <kalai@domain.com>";
$headers[] = "Bcc: Alagu <alagu@domain2.com>";
$headers[] = "Reply-To: Recipient Name <office@domain3.com>";
$headers[] = "Subject: {$subject}";
$headers[] = "X-Mailer: PHP/".phpversion();

$receivers = array('vanan@gmail.com', 'alagukan@gmail.com', 'mathi@gmail.com',.... );

mail(implode(',', $receivers), $subject, $message, $implode("\r\n", $headers));
?>
于 2015-07-23T14:52:07.080 に答える