هل رأس البريد الإلكتروني الخاص بي صحيح؟

StackOverflow https://stackoverflow.com/questions/818321

  •  03-07-2019
  •  | 
  •  

سؤال

هل ما يلي "من" رأس incorect؟

    // To send HTML mail, the Content-type header must be set
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    // Additional headers
    $headers .= 'From: Mail Master <mail@mailmaster.com>' . "\r\n";
if(sendEmailNow($email, $subject, $body, $headers)){

أحصل على الخطأ من خادم البريد الخاص بي. تقول "البريد من الخطأ: خطأ بناء الجملة".

شكرا جميع على أي مساعدة.

تحديث

لقد قمت بتجريد وظيفة sendemailnow إلى ما أدناه وأحصل على نفس الخطأ:

//send an email
function sendEmailNow($email, $subject, $body, $headers){

    if (mail($email, $subject, $body, $headers)) {
      ##check email
      ##code to say email sent - compare with the number registered
      return true;
     }

     else {
      ##code to report an error 
      return false;
     }

 }

تحديث 2

تم حل المشكلة. أقوم بتشغيل هذا على جهاز Windows باستخدام PHP 5. مثل الإجابة الصحيحة التي تم اختيارها وقلت التعليقات. تواجه بعض خوادم البريد مشكلة في فهم ما كان لدي سابقًا. لكن ما نجح بالنسبة لي كان هذا:

$headers .= 'From: mail@mailmaster.com' . "\r\n";
هل كانت مفيدة؟

المحلول

يشير بحث Google عن رسالة الخطأ إلى أن بعض خوادم SMTP تفشل في تحليل بناء الجملة الخاص بك ل From رأس. هل يمكنك تجربة بناء الجملة التالي لاستبعاد هذا الاحتمال؟

From: mail@mailmaster.com

نصائح أخرى

ما لم يكن الجسم فارغًا ، فقد تحتاج إلى CRLF إضافي لإنهاء الرؤوس. دون معرفة واجهة برمجة التطبيقات لا أستطيع أن أقول أكثر من ذلك بكثير.

لست متأكدًا مما إذا كان هذا سيساعد ، ولكن إليك ما تبدو عليه رؤوس الإخراج في تطبيق Python الخاص بي في نص Pure:

Content-Type: multipart/alternative;
    boundary="10.254.26.130.1.1364.1241389770.060.1"
From: User1 <user1@domain1.com>
To: User2 <user2@domain1.com>,User3 <user3@domain.com>
Subject: Actual subject
MIME-Version: 1.0


--10.254.26.130.1.1364.1241389770.060.1
Content-Type: text/plain;
    charset="us-ascii"
Content-Transfer-Encoding: quoted-printable

actual text content starting here...

مرة أخرى ، دون معرفة جميع المحتوى/الرؤوس ، من الصعب القول ، لكنني أظن إما أ) لقد تركت CRLFs المتأخرة قبل المحتوى ، أو ب) أحد الرؤوس السابقة التي تفتقد CRLF.

الاعتذار إذا كان ذلك يأخذك في اتجاه خاطئ للغاية. قون

From: "User1" <user1@domain1.com>

يتطلب الرأس من عروض أسعار لجزء الاسم.

إذا قمت بتعيين متغير "$ useremail" في النموذج الخاص بك ، فيمكنك الحصول عليه والرد عليها. $ email_id هو بريدك الإلكتروني الذي يتم إرساله إليه.

        $to=$email_id;
        $headers = "From: " . strip_tags($userEmail) . "\r\n";
        $headers .= "Reply-To: ". strip_tags($userEmail) . "\r\n";
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top