PHPMailer के साथ ईमेल भेजें - शरीर में छवि एम्बेड करें


97

मैं HTML मेल भेजने की कोशिश कर रहा हूं, PHPMailer के साथ, छवियों के साथ। शरीर एक html फ़ाइल से लोड किया गया है, जिसमें सभी जानकारी शामिल है।

मेल भेजते समय, छवि शरीर में दिखाई नहीं देती है, हालांकि मैं छवि को अनुलग्नक के रूप में भी भेजता हूं।

HTML <img>टैग उसी जगह की ओर इशारा करता है।

पीएचपी:

$mail->AddAttachment('img/2u_cs_mini.jpg');

मैं अटैचमेंट को html पॉइंट कैसे बना सकता हूं ताकि शरीर में इमेज लोड की जा सके।

PHPMailer के साथ आने वाले उदाहरण को देखते हुए मुझे कोई अंतर नहीं दिखता है, और उनके मामले में छवि दिखाई देती है।

जवाबों:


206

मुझे जवाब मिला:

$mail->AddEmbeddedImage('img/2u_cs_mini.jpg', 'logo_2u');

और <img>टैग पर डाल दियाsrc='cid:logo_2u'


3
यह पूरी तरह से मदद करता है !!! जिज्ञासा से बाहर आपको यह कहां मिला? कृपया समझाएँ।
एमटीके

सिड के अंत में बैकस्लैश क्यों?
प्लमर

मैंने ऐसा बहुत पहले किया था, मुझे याद नहीं है कि क्या कोई कारण था। मुझे नहीं लगता कि वहाँ है। बस कुछ कचरा, सबसे अधिक संभावना है।
परिकल्पित

8
मेरा मानना ​​है कि बैकस्लैश को गलती से पिछले कोड से छोड़ दिया गया था, जो उद्धरण से बच गया था, जैसे echo "src=\"cid:logo_2u\""और मुझे नहीं लगता कि बैकस्लैश आवश्यक है।
क्रूर

9
एक गैर विशेषज्ञ से स्पष्टीकरण की आवश्यकता किसके लिए है: आपको प्रतिपादन इंजन को यह बताने की आवश्यकता है कि छवि कहाँ से प्राप्त की जाए और किस प्रोटोकॉल के साथ (एक छवि का उपयोग करने के लिए जो आपको संलग्न है "de cid" प्रोटोकॉल, सामग्री-आईडी का उपयोग करें) और आप उपयोग करें। AddEmbeddedImage अनुलग्नक को एक आईडी देने के लिए ताकि आप इसे संदर्भित कर सकें (ध्यान दें कि यह ध्वनियाँ और अन्य प्रकार की फाइलें हो सकती हैं)।
PhoneixS

3

PHPMailer मैनुअल के अनुसार , पूर्ण उत्तर होगा:

$mail->AddEmbeddedImage(filename, cid, name);
//Example
$mail->AddEmbeddedImage('my-photo.jpg', 'my-photo', 'my-photo.jpg '); 

उदाहरण :

$mail->AddEmbeddedImage("rocks.png", "my-attach", "rocks.png");
$mail->Body = 'Embedded Image: <img alt="PHPMailer" src="cid:my-attach"> Here is an image!';

यदि आप एक दूरस्थ URL के साथ एक छवि प्रदर्शित करना चाहते हैं:

$mail->addStringAttachment(file_get_contents("url"), "filename");
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.