2013-06-13 8 views
5

मैं phmailmailer लाइब्रेरी की सहायता से मेल भेजने के लिए जीमेल एसएमटीपी का उपयोग कर रहा हूं। यह मेल ठीक भेज रहा है लेकिन यह उस मेल पते से नहीं भेज रहा है जिसे मैं SetFrom पते में सेट कर रहा हूं। यहाँ मेरी कोड है:PHPMailer से काम नहीं कर रहा

<?php 
require 'phpmailer/class.phpmailer.php'; 
$mail = new PHPMailer; 

$mail->IsSMTP(); 
$mail->SMTPAuth = true; 
$mail->Host = "smtp.gmail.com"; 
$mail->Port = 587; 
$mail->Username = "[email protected]"; 
$mail->Password = "gmail_password"; 

$mail->From   = '[email protected]'; 
$mail->FromName  = 'Admin'; 
$mail->AddAddress('[email protected]', 'Receiver'); // Add a recipient 
$mail->IsHTML(true); 

$mail->Subject = 'Here is the Subject'; 
$mail->WordWrap = 50; 
$mail->Body = "This is in <b>Blod Text</b>"; 
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients'; 

if(!$mail->Send()) { 
    echo 'Message could not be sent.'; 
    echo 'Mailer Error: ' . $mail->ErrorInfo; 
    exit; 
} 

echo 'Message has been sent'; 
?> 

यह [email protected] से मेल भेज रहा है लेकिन मैं इसे '[email protected]' के साथ भेजना चाहते हैं के रूप में से $ मेल> में निर्धारित किया है। किसी भी तरह की सहायता की हम सराहना करेंगे।

+1

क्या आपने Google के बारे में क्या कहा है [विभिन्न पतों से ईमेल भेजना] (https://support.google.com/mail/answer/22370?hl=hi) – Anigel

+0

@ एनीगेल: बस मान लीजिए, आप संपर्क कर रहे हैं PHP और phpmailer के साथ मेल भेजना। पता से पता होगा कि उपयोगकर्ता ईमेल पता फ़ील्ड में क्या भरता है और एड्रेस आपकी ईमेल आईडी होगी। उस मामले में, हर समय अलग-अलग उपयोगकर्ताओं के लिए, ईमेल से हमेशा अलग होगा। इसलिए, हमें इसे $ मेल-> से सेट करने की आवश्यकता है। मैं क्या कर रहा हूँ। मुझे नहीं लगता कि इसे आपके लिंक के आलेख से कुछ भी करना है। – prembaranwal

+5

मुझे नहीं लगता कि आपने लेख पढ़ लिया है, तो Google कहता है कि आप केवल अपने Google खाते में कॉन्फ़िगर किए गए पते से ही भेज सकते हैं। आप jo.bloggs के रूप में लॉग इन नहीं कर सकते हैं और jane.doe से ईमेल भेज सकते हैं यदि आप जो करना चाहते हैं वह करना चाहते हैं, तो आप जीमेल एसएमटीपी का उपयोग नहीं कर सकते हैं, आपको एक अलग सर्वर का उपयोग करना होगा जो आपको ईमेल के रूप में ईमेल भेजने की अनुमति देता है और आपको कई मेल सर्वर पर स्पैम फ़िल्टर या अवरुद्ध कर दिया जाएगा क्योंकि आपका मेल सर्वर उपयोगकर्ताओं के लिए उचित मेल सर्वर से मेल नहीं खाएगा आईई यह एसपीएफ चेक – Anigel

उत्तर

-2

PHPMailler के नवीनतम संस्करण में अपग्रेड करें। आपको यह भी सुनिश्चित करना चाहिए कि आप एरो संदेशों को देखने के लिए ओडर में डीबगिंग चालू करें।

$mail->SMTPDebug = 2; 

आप त्रुटि की पहचान करेंगे। यह भी सुनिश्चित करें कि आपके एसएमटीपी सर्वर प्रमाण-पत्र सही हैं। मेजबान, उपयोगकर्ता नाम और पासवर्ड की तरह। मेरा सही ढंग से काम किया

4

हां, यह एक Google मेल प्रतिबंध है। "प्रेषक" ईमेल पते से मेल खाना चाहिए या Google SMTP द्वारा स्वचालित रूप से उस तरह से सेट किया जाना चाहिए।

मेरे समाधान

$mail->AddReplyTo($FromEmail, $FromName); 

इस तरह कम से कम अगर आप संदेश का जवाब यह के रूप में वितरित किया जाएगा जोड़ने के लिए था वर्णित

3

PHPMailer में पते से स्थापित करने के लिए एक और रास्ता नहीं है और यह बेहतर है समर्थित। मैंने पाया कि सर्वर जहां मैंने phpmailer का उपयोग किया था, उसी मेजबान से दूसरे सर्वर पर ईमेल पास नहीं किया था। लेकिन फिर मैं जिस तरह से पता से सेट करता हूं उसे बदलता हूं और यह समस्या को हल करता है।

उपयोग:

$mail->SetFrom('[email protected]', 'Admin'); 
इसके बजाय $ मेल> और $ मेल> FROMNAME से की

+0

100% काम धन्यवाद! –

1

आप के रूप में sentFrom, तो आप अपने ईमेल Gmail सेटिंग से सेट कर सकते हैं अलग ईमेल पते का उपयोग करना चाहते हैं: एक और ईमेल जो आप से के रूप में उपयोग करना चाहते हैं सेट: रूप में मेल भेजें

सेटिंग> खाते और आयात> :

यदि आप ज़ोहो का उपयोग कर रहे हैं तो आप अनुसरण कर सकते हैं: सेटिंग्स> मेल टैब> मेल के रूप में मेल भेजें> पता से जोड़ें, फिर उस ईमेल को सत्यापित करें।

संबंधित मुद्दे