উত্তর:
mail
চারপাশে বিভিন্ন সংস্করণ আছে। আপনি যখন বাইরে চলে যান mail -s subject to1@address1 to2@address2 <body
(প্রেরণের জন্য, এটিই সমস্ত পসিক্স গ্যারান্টি রয়েছে - এবং এমনকি পুরানো দিনগুলিতেও ছিল না ), তাদের আলাদা কমান্ড লাইনের বিকল্প থাকে। অতিরিক্ত শিরোনাম যুক্ত করা সর্বদা সহজ নয়।-s
কিছু mailx
বাস্তবায়ন সহ, যেমন উবুন্টু বা ডেবিয়ান থেকেmailutils
, এটি সহজ, কারণ এর জন্য বিকল্প রয়েছে।bsd-mailx
mailx -a 'Content-Type: text/html' -s "Subject" to@address <test.html
সঙ্গে heirloom mailx
, কোন সুবিধাজনক উপায়। স্বেচ্ছাসেবক শিরোনাম সন্নিবেশ করার একটি সম্ভাবনা হ'ল editheaders=1
একটি বাহ্যিক সম্পাদক (যা কোনও স্ক্রিপ্ট হতে পারে) সেট করে ব্যবহার করা।
## Prepare a temporary script that will serve as an editor.
## This script will be passed to ed.
temp_script=$(mktemp)
cat <<'EOF' >>"$temp_script"
1a
Content-Type: text/html
.
$r test.html
w
q
EOF
## Call mailx, and tell it to invoke the editor script
EDITOR="ed -s $temp_script" heirloom-mailx -S editheaders=1 -s "Subject" to@address <<EOF
~e
.
EOF
rm -f "$temp_script"
একটি সাধারণ পসিক্স সহmailx
, আমি শিরোনামে কীভাবে যাব জানি না।
আপনি যদি কোনও ব্যবহার করতে যাচ্ছেন mail
বা তা mailx
মনে রাখবেন
mail
এবং এর বিভিন্ন বিকল্প রয়েছে mailx
।mail
এবং কমান্ড হিসাবে mailx
শুরু হওয়া লাইনের সাথে আচরণ ~
করে। আপনি যদি পাঠ্যটি এতে পাইপ করেন তবে আপনাকে mail
এই পাঠ্যটির শুরুতে লাইন না রাখার ব্যবস্থা করতে হবে ~
।আপনি যদি যাইহোক সফ্টওয়্যার ইনস্টল করতে চলেছেন, আপনি পাশাপাশি mail
/ Mail
/ এর চেয়ে আরও পূর্বাভাসযোগ্য কিছু ইনস্টল করতে পারেন mailx
। উদাহরণস্বরূপ, গাড়ল । মুট এর সাহায্যে আপনি বেশিরভাগ শিরোলেখ -H
বিকল্পের সাহায্যে ইনপুট সরবরাহ করতে পারেন , তবে তা নয়Content-Type
, যা একটি মুট বিকল্পের মাধ্যমে সেট করা দরকার।
mutt -e 'set content_type=text/html' -s 'hello' 'to@address' <test.html
অথবা আপনি sendmail
সরাসরি প্রার্থনা করতে পারেন । এর sendmail
বাইরে বেশ কয়েকটি সংস্করণ রয়েছে তবে তারা সকলেই sendmail -t
মেল থেকে প্রাপকদের তালিকাটি পড়ে, সহজতম ফ্যাশনে একটি মেল প্রেরণে সমর্থন করে। (আমি মনে করি তারা সবাই সমর্থন করে না Bcc:
।) বেশিরভাগ সিস্টেমে, সাধারণত sendmail
হয় না $PATH
, এটি হয় /usr/sbin
বা হয় /usr/lib
।
cat <<'EOF' - test.html | /usr/sbin/sendmail -t
To: to@address
Subject: hello
Content-Type: text/html
EOF
#!/bin/sh
(
echo "To: me@example.com"
echo "Subject: hello"
echo "Content-Type: text/html"
echo
echo "<html><b><font size='7'>H</font>ello</b></html>"
echo
) | /usr/sbin/sendmail -t
হেরলুম মেলেক্স সহ, সুবিধাজনক উপায় is
mailx -s "$(echo -e "Newsletter issue 3\nContent-Type: text/html")" user@server.com < /tmp/htmlmail.txt
ধন্যবাদ, ডুড
ফেডোরা 17 এ পরীক্ষিত, এবং কাজ করেছে
এটি Content-Type
করতে আপনার ইমেলটিতে আপনাকে শিরোনাম যুক্ত করতে হবে।
echo "<html><b>Hello</b></html>" | mail -a "Content-type: text/html;" -s "Testing" me@example.com
কাজ করবে
mailx
? বিকল্প হতে পারে। যদি এটি কাজ না করে। যদি এটি কাজ না করে, আপনি মুট ব্যবহার বিবেচনা করতে পারেন যদিও কমান্ড লাইনটি এটি করতে সুইচ করে তা আমি জানি না।
উত্তরাধিকারী-মেলেক্সের সাহায্যে আপনি আপনার হুক স্ক্রিপ্টে সেন্ডমেল প্রোগ্রাম পরিবর্তন করতে পারেন, সেখানে শিরোনাম প্রতিস্থাপন করতে পারেন এবং তারপরে সেন্ডমেল ব্যবহার করতে পারেন।
আমি যে স্ক্রিপ্টটি ব্যবহার করি ( ~/bin/sendmail-mailx-hook
):
#!/bin/bash
sed '1,/^$/{
s,^\(Content-Type: \).*$,\1text/html; charset=utf-8,g
s,^\(Content-Transfer-Encoding: \).*$,\18bit,g
}' | sendmail $@
এই স্ক্রিপ্টটি মেল শিরোনামের মানগুলি নিম্নরূপে পরিবর্তন করে:
Content-Type:
প্রতি text/html; charset=utf-8
Content-Transfer-Encoding:
to 8bit
(এটি সত্যিকারের প্রয়োজন কিনা তা নিশ্চিত নয়)।এইচটিএমএল ইমেল পাঠাতে:
mailx -Ssendmail='~/bin/sendmail-mailx-hook' -s "subject" xxxxx@gmail.com < test.html
এই পদ্ধতিটি @ গিলস প্রস্তাবিতের চেয়ে বেশি কার্যকর কারণ এটি অস্থায়ী ফাইল তৈরি করে না এবং কেবলমাত্র ফ্লাইটটিকে অন ফ্লাইটটি ঠিক করে দেয়।
ঘটতে আমি নীচের স্ক্রিপ্টগুলি ব্যবহার করেছি
#!/bin/ksh
(
echo "To: yourmail@domain.com"
echo "Subject: Job Status"
echo "Content-Type: text/html"
echo
echo "<html>
<head>
<title>Status of the jobs during the day</title>
<style>
table, th, td {
border: 1px solid blue;
border-collapse: collapse;
}
th, td {
padding: 5px;
}
</style>
</head>
<body>
<table style='width:100%'>
<tr bgcolor='#808080'>
<th>Job Name</th>
<th>System name</th>
<th>Status</th>
</tr>
<tr>
<td>Job-1</td>
<td>Sys</td>
<td>Sucess</td>
</tr>
<tr>
<td>Job-2</td>
<td>sys</td>
<td>Failure</td>
</tr>
<tr>
<td>Job-3</td>
<td>sys</td>
<td>Sucess</td>
</tr>
</table>
</body></html>"
echo
) | /usr/sbin/sendmail -t
আমার জন্য আমাকে এসএমটিপি সার্ভারের মতো একটি ভেরিয়েবল নির্দিষ্ট করা দরকার, তাই মেল কমান্ডটি নীচের ফ্যাশনে কাজ করেছিল। আমি অনেকগুলি পোস্ট জুড়ে অনুসন্ধান করেছি এবং বডিটিকে পাঠ্য / এইচটিএমএল রূপান্তর করতে আমি নীচে সম্পত্তি পেয়েছি। এখন আমি প্রাপ্ত ইমেলটি HTML ফর্ম্যাটে।
সামগ্রী-বিভাজন: ইনলাইন line
ইউনিক্স সংস্করণ: রেড হ্যাট এন্টারপ্রাইজ লিনাক্স সার্ভার 6.6 (সান্টিয়াগো) রিলিজ করেছে
প্রথম। কোনও স্ক্রিপ্টে যা যা তথ্য প্রয়োজন তা তৈরি করুন (testSql.sh)
echo "<html><body><pre>"
mysql -u USERNAME -pPASSWORD -P PORTNUMBER -h HOSTNAME DBNAME --table -e "select columns from tablename where member in ('value1','value2')"
echo "</pre></body></html>"
দ্বিতীয়ত। মেল কমান্ডে সেই স্ক্রিপ্টটি পাইপ করুন
./testSql.sh | mail -v -S smtp=smtp://IP:PORTNUMBER -s "$(echo -e "This is the subject\nContent-Type: text/ht ml\nMIME-Version: 1.0\nContent-Disposition: inline")" userid@email.com
এটি করে আমি ইমেলের নীচে হিসাবে তথ্য পেয়েছি:
সামগ্রী-বিভাজন: ইনলাইন বার্তা-আইডি: ব্যবহারকারী-এজেন্ট: উত্তরাধিকারী মেলএক্স 12.4 7/29/08 মিমি-সংস্করণ: 1.0 সামগ্রী-প্রকার: পাঠ্য / সরল; চরসেট = us-ascii সামগ্রী-স্থানান্তর-এনকোডিং: 7 বিট মান 1 মান 2
এইচটিএমএল ট্যাগিং অনুসারে মান্য 1 এবং মান 2 টেস্টস্কুল.এসএসে সম্পন্ন হয়
cat htmlfile.html | mail -s "subject" xx@example.com