আমি লোকালহোস্ট থেকে মেল প্রেরণের চেষ্টা করছি। তবে আমি লোকালহোস্ট থেকে মেলটি প্রেরণে অক্ষম তাই যে কেউ আমাকে বলতে পারে যে কীভাবে লোকালহোস্ট থেকে মেল প্রেরণের জন্য আমার এক্সএএমপিটি পুনরায় কনফিগার করতে হবে
আমি লোকালহোস্ট থেকে মেল প্রেরণের চেষ্টা করছি। তবে আমি লোকালহোস্ট থেকে মেলটি প্রেরণে অক্ষম তাই যে কেউ আমাকে বলতে পারে যে কীভাবে লোকালহোস্ট থেকে মেল প্রেরণের জন্য আমার এক্সএএমপিটি পুনরায় কনফিগার করতে হবে
উত্তর:
আপনি প্রেরণমেল প্যাকেজ সহ লোকালহোস্ট থেকে মেল প্রেরণ করতে পারেন, প্রেরণমেল প্যাকেজটি এক্সএএমপিপি-তে অন্তর্নির্মিত। সুতরাং আপনি যদি এক্সএএমপিপি ব্যবহার করেন তবে আপনি লোকালহোস্ট থেকে সহজেই মেল পাঠাতে পারেন।
উদাহরণস্বরূপ আপনি মেইল প্রেরণের জন্য কনফিগার করতে পারেন C:\xampp\php\php.ini
এবং c:\xampp\sendmail\sendmail.ini
Gmail এর জন্য।
মধ্যে C:\xampp\php\php.ini
খোঁজ extension=php_openssl.dll
এবং যে লাইন শুরু থেকে সেমিকোলন অপসারণ SSL এর স্থানীয় হোস্ট জন্য Gmail জন্য কাজ করা।
পিএইচপি.আইএনআই ফাইলটিতে সন্ধান [mail function]
এবং পরিবর্তন করুন
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = my-gmail-id@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
এখন খুলুন C:\xampp\sendmail\sendmail.ini
। সেন্ডমেল.ইনীতে বিদ্যমান কোডটি নিম্নলিখিত কোডের সাথে প্রতিস্থাপন করুন
[sendmail]
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=my-gmail-id@gmail.com
auth_password=my-gmail-password
force_sender=my-gmail-id@gmail.com
এখন আপনি করেছেন !! মেল ফাংশন সহ পিএইচপি ফাইল তৈরি করুন এবং লোকালহোস্ট থেকে মেল প্রেরণ করুন।
পিএস: উপরের কোডটিতে আমার-জিমেইল-আইডি এবং আমার-জিমেইল-পাসওয়ার্ড প্রতিস্থাপন করতে ভুলবেন না । এছাড়াও, আপনি উপরে থেকে সেটিংস অনুলিপি করলে সদৃশ কীগুলি সরাতে ভুলবেন না। উদাহরণস্বরূপ লাইন নিম্নলিখিত মন্তব্য মন্তব্য যদি অন্য সেন্ডমেল_পথ থাকে : sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
php.ini ফাইলটিতে
এক্সএএমএএমপি নিয়ন্ত্রণ প্যানেল ব্যবহার করে সার্ভারটি পুনরায় চালু করতে ভুলবেন না যাতে পরিবর্তনগুলি কার্যকর হয়।
Gmail এর জন্য দয়া করে কম সুরক্ষিত অ্যাপ্লিকেশন থেকে অ্যাক্সেসের অনুমতি দিতে https://support.google.com/accounts/answer/6010255 দেখুন ।
লোকালহোস্ট থেকে জিমেইলের মাধ্যমে লিনাক্সে (সেন্ডমেল প্যাকেজ সহ) ইমেল প্রেরণ করতে দয়া করে পিএইচপি + উবুন্টু পরীক্ষা করুন জিমেইল ফর্ম লোকালহোস্ট ব্যবহার করে ইমেল প্রেরণ করুন ।
XAMPP v3.2.1 পরীক্ষার উদ্দেশ্যে আপনি XAMPP XAMPP / মেলআউটপুটে প্রেরিত ইমেলগুলি দেখতে পাবেন। উইন্ডোজ 8 এ আমার ক্ষেত্রে এটির জন্য কোনও অতিরিক্ত কনফিগারেশন প্রয়োজন হয় না এবং এটি ইমেল পরীক্ষার সহজ সমাধান ছিল
c:\xampp\php\php.ini
, দেখুন [mail function]
এবং লাইনটি উল্লেখ করেছেন যে তাতে কোন অসুবিধা নেই mailtodisk.exe
। এই বিভাগে প্রতিটি অন্যান্য লাইন mail.add_x_header
এক ব্যতীত মন্তব্য করুন ।
sendmail_path="C:\xampp\mailtodisk\mailtodisk.exe"
লোকালহোস্ট বা লোকাল সার্ভারে ইমেলগুলি প্রেরণ করা খুব সহজ
দ্রষ্টব্য: আমি Xampp ইনস্টলড সহ উইন্ডোজ 7 64 বিটটিতে টেস্ট মেল সার্ভার সফটওয়্যারটি ব্যবহার করছি
কেবল টেস্ট মেল সার্ভার সরঞ্জামটি ডাউনলোড করুন এবং তার ওয়েবসাইটে দেওয়া টেস্ট মেল সার্ভার সরঞ্জামটিতে দেওয়া নির্দেশ অনুসারে ইনস্টল করুন
এখন আপনাকে কেবল php.ini
ফাইলের অধীনে দুটি লাইন পরিবর্তন করতে হবে
[mail function]
আগে থাকা আধা কোলন সন্ধান করুন এবং অপসারণ করুন;smtp = localhost
sendmail_path = "C:\xampp\mailtodisk\mailtodisk.exe"
আপনার আর কোনও পরিবর্তন করার দরকার নেই, তবে আপনি যদি এখনও চেক করার চেয়ে ইমেল না পেয়ে থাকেন SMTP port
তবে পোর্ট নম্বরটি অবশ্যই সমান হবে।
উপরের পদ্ধতিটি Xampp সফ্টওয়্যার দ্বারা সরবরাহিত ডিফল্ট সেটিংসের জন্য।
মেল পাঠানোর পরীক্ষার জন্য আপনার এই সহজ অ্যাপ্লিকেশনটি পেপারকুট ব্যবহার করা উচিত । এবং আপনার কোনও কিছু কনফিগার করার দরকার নেই।
কেবল এটি চালান এবং পরীক্ষার মেল পরীক্ষা করে দেখুন:
test_sendmail.php
<?php
$to = "somebody@example.com";
$subject = "My subject";
$txt = "Hello world!";
$headers = "From: webmaster@example.com" . "\r\n" .
"CC: somebodyelse@example.com";
mail($to,$subject,$txt,$headers);
?>
এবং আপনি এটি দেখতে পাবেন:
আমি আশা করি আপনার দিনটি ভাল কাটবে আপনি আরও টিউটোরিয়াল পাইসথ সকের জন্য ইউটিউবে আমাকে খুঁজে পেতে পারেন
উত্সাহিত করা!
আপনার সার্ভারে আপনাকে এসএমটিপি কনফিগার করতে হবে । আপনি গুগল দ্বারা জি স্যুট এসএমটিপি বিনামূল্যে ব্যবহার করতে পারেন :
<?php
$mail = new PHPMailer(true);
// Send mail using Gmail
if($send_using_gmail){
$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPAuth = true; // enable SMTP authentication
$mail->SMTPSecure = "ssl"; // sets the prefix to the servier
$mail->Host = "smtp.gmail.com"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "your-gmail-account@gmail.com"; // GMAIL username
$mail->Password = "your-gmail-password"; // GMAIL password
}
// Typical mail data
$mail->AddAddress($email, $name);
$mail->SetFrom($email_from, $name_from);
$mail->Subject = "My Subject";
$mail->Body = "Mail contents";
try{
$mail->Send();
echo "Success!";
} catch(Exception $e){
// Something went bad
echo "Fail :(";
}
?>
PHPMailer
এখানে আরও পড়ুন ।
আমার ব্যক্তিগত অভিজ্ঞতার মতোই আমি খুঁজে পেয়েছি যে বিকাশ দ্বিবেদী উত্তরটির সাথে খুব একই রকম জিনিসটি ঠিক কাজ করবে।
পদক্ষেপ 1 (php.ini ফাইল)
Php.ini ফাইলের মধ্যে অবস্থিত xampp\php\php.ini
। নিম্নলিখিতটিতে সেটিংস পরিবর্তন করুন:
extension=php_openssl.dll
[mail function]
sendmail_path =":\xampp7\sendmail\sendmail.exe -t"
mail.add_x_header=On
অন্যান্য ভেরিয়েবলগুলি তাদের সামনে mail funciton
রেখে বন্ধ ;
করুন। যেমন;smtp_port=25
পদক্ষেপ 2 (sendmail.ini ফাইল)
Xampp \ সেন্ডমেইল \ semdmail.ini এ অবস্থিত সেন্ডমেইল.ইনিতে নিম্নলিখিতটিতে পরিবর্তন করুন:
smtp_server=smtp.gmail.com
smtp_port=465
smtp_ssl=auto
auth_username=address@gmail.com
auth_password=YourPassword
পদক্ষেপ 3 (কোড)
একটি পিএইচপি ফাইল তৈরি করুন এবং নিম্নলিখিতগুলি ব্যবহার করুন:
<?php
mail($to, "subject", "body", "From: ".$from);
?>
বিজ্ঞপ্তি
এই কোডটি আপনার লোকালহোস্ট এক্সএএমপিপি এবং আপনার জিমেইল অ্যাকাউন্ট থেকে মেইলের জন্য ব্যবহৃত হয়। এই কোডটি খুব সহজ এবং আপনার নিজের চেষ্টা করার জন্য আমার পক্ষে কাজ করা।
পিএইচপি.আইএনই ফাইলের নীচে পরিবর্তন করুন
SMTP=smtp.gmail.com
smtp_port=587
sendmail_from = your@gmail.com
sendmail_path = "\"C:\xampp\sendmail\sendmail.exe\" -t"
extension=php_openssl.dll
এর পরিবর্তে সেন্ডমেইল.ইএনআই ফাইল পরিবর্তন করুন
smtp_server=smtp.gmail.com
smtp_port=587
error_logfile=error.log
debug_logfile=debug.log
auth_username=yourmail@gmail.com
auth_password=your-gmail-password
force_sender=yourmail@gmail.com
ইমেল প্রেরণ করতে দয়া করে আপনার পিএইচপি ফাইলে বেলোভ কোডটি লিখুন
<?php
$to = "tomail@gmail.com";
$subject = "Test Mail";
$headers = "From: from_mail@gmail.com\r\n";
$headers .= "Reply-To: replytomail@gmail.com\r\n";
$headers .= "CC: theassassin.edu@gmail.com\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = '<html><body>';
$message .= '<img src="//css-tricks.com/examples/WebsiteChangeRequestForm/images/wcrf-header.png" alt="Website Change Request" />';
$message .= '<table rules="all" style="border-color: #666;" cellpadding="10">';
$message .= "<tr style='background: #eee;'><td><strong>Name:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Email:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Type of Change:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>Urgency:</strong> </td><td>Details</td></tr>";
$message .= "<tr><td><strong>URL To Change (main):</strong> </td><td>Details</td></tr>";
$addURLS = 'google.com';
if (($addURLS) != '') {
$message .= "<tr><td><strong>URL To Change (additional):</strong> </td><td>" . $addURLS . "</td></tr>";
}
$curText = 'dummy text';
if (($curText) != '') {
$message .= "<tr><td><strong>CURRENT Content:</strong> </td><td>" . $curText . "</td></tr>";
}
$message .= "<tr><td><strong>NEW Content:</strong> </td><td>New Text</td></tr>";
$message .= "</table>";
$message .= "</body></html>";
if(mail($to,$subject,$message,$headers))
{
echo "Mail Send Sucuceed";
}
else{
echo "Mail Send Failed";
}
?>
আপনাকে এটির জন্য একটি SMTP
সার্ভার এবং একটি বন্দর নির্ধারণ করতে হবে । লাইভ হোস্ট থেকে মেল প্রেরণ করা বাদে সমস্ত।
এটি এই সম্পর্কিত একটি দরকারী লিঙ্ক ।
নোট: বন্দরের অব্যবহৃত হওয়া উচিত। দয়া করে সাবধান হন যে, কিছু অ্যাপ্লিকেশন যেমন
Skype
ডিফল্ট পোর্টগুলি ব্যবহার করে এবং সেখানে মেল প্রেরণ করে বাধা দেয়।
এই কাজটি করার চেষ্টা করে এক ঘন্টারও বেশি সময় ব্যয় করেছেন। পোস্ট করা সমস্ত পরামর্শ নিয়ে একই সমস্যা থাকা সকলের জন্য কাজ করা নয়: আপনাকে আপনার এক্সএএমপিপি ইনারফেসে অ্যাপাচি পুনরায় চালু করতে হবে! শুধু এক্সএএমপিপি পুনরায় আরম্ভ করবে না
আমি এক্সএএমপিপি লোকালহোস্ট থেকে কোনও মেল প্রেরণের জন্য অনেকগুলি চেষ্টা করেছি, তবে এক্সএএমপিপি যেহেতু এসএসএল শংসাপত্র নেই, তাই আমার ইমেল অনুরোধটি জিমেইল বা অনুরূপ এসএমটিপি পরিষেবা সরবরাহকারীদের দ্বারা অবরুদ্ধ।
তারপরে আমি স্থানীয় এসএমটিপি সার্ভারের জন্য মেলহগ ব্যবহার করেছি, আপনাকে যা করা দরকার তা কেবল এটি চালানো উচিত। লোকালহোস্ট: 1025 এসএমটিপি সার্ভারের জন্য, লোকালহোস্ট: 8025 মেল সার্ভারের জন্য, যেখানে আপনি যে ইমেলগুলি প্রেরণ করেছেন সেগুলি পরীক্ষা করতে পারবেন।
এখানে আমার কোড:
require_once "src/PHPMailer.php";
require_once "src/SMTP.php";
require_once "src/Exception.php";
$mail = new PHPMailer\PHPMailer\PHPMailer();
//Server settings
$mail->SMTPDebug = 3; // Enable verbose debug output
$mail->isSMTP(); // Send using SMTP
$mail->Host = 'localhost'; // Set the SMTP server to send through
$mail->Port = 1025; // TCP port to connect to
// $mail->Username = ''; // SMTP username
// $mail->Password = ''; // SMTP password
// $mail->SMTPAuth = true; // Enable SMTP authentication
// $mail->SMTPSecure = 'tls'; // Enable TLS encryption; `PHPMailer::ENCRYPTION_SMTPS` also accepted
//Recipients
$mail->setFrom('testtoo@testto.com', 'Mailer');
$mail->addAddress('testtoo@webbamail.com', 'Joe User'); // Add a recipient
// Content
$mail->isHTML(true); // Set email format to HTML
$mail->Subject = 'Here is the subject';
$mail->Body = 'This is the HTML message body <b>in bold!</b>';
$mail->AltBody = 'This is the body in plain text for non-HTML mail clients';
if(!$mail->Send()) {
echo "Mailer Error: " . $mail->ErrorInfo;
} else {
echo "Message sent!";
}
সমস্ত উত্তর ছাড়াও দয়া করে নোট করুন sendmail.ini
ফাইলটিতে:
auth_password = এই-যা- না -your-Gmail- পাসওয়ার্ড
নতুন গুগল সুরক্ষা উদ্বেগের কারণে, এই উদ্দেশ্যে একটি অ্যাপ্লিকেশন পাসওয়ার্ড তৈরি করতে আপনার এই পদক্ষেপগুলি অনুসরণ করা উচিত: