4Dメール送信について
2 posters
4Dメール送信について
4Dv18(Windows)より、InternetCommandsを使用して日本語メールの送信をしたいのですが...
$error:=SMTP_SetPrefs (0;10;0)
$error:=SMTP_Charset (1;1)
$error:=SMTP_AddHeader ($smtpID;"Content-Type:";"text/plain;charset=Shift_JIS";1)
$error:=SMTP_Body ($smtpID;<<4Dテキストフィールド>>;0) //メッセージ本文
上記設定で、4Dテキストフィールドの内容をそのままメール送信すると...
-------------------------------------------------------------------------
XXXXX様
お世話になります。
XXXX(株)の○○です。
商品カタログをお送りいたします。
ご確認ください。
-------------------------------------------------------------------------
↓
-------------------------------------------------------------------------
XXXXX様 お世話になります。 XXXX(株)の○○です。 商品カタログをお送りいたします。 ご確認ください。
-------------------------------------------------------------------------
といったように、改行が行われずメール受信してしまいます。
どうすれば、テキストフィールドと同様に改行が反映されるのでしょうか?
ご教示ください。
よろしくお願いいたします。
$error:=SMTP_SetPrefs (0;10;0)
$error:=SMTP_Charset (1;1)
$error:=SMTP_AddHeader ($smtpID;"Content-Type:";"text/plain;charset=Shift_JIS";1)
$error:=SMTP_Body ($smtpID;<<4Dテキストフィールド>>;0) //メッセージ本文
上記設定で、4Dテキストフィールドの内容をそのままメール送信すると...
-------------------------------------------------------------------------
XXXXX様
お世話になります。
XXXX(株)の○○です。
商品カタログをお送りいたします。
ご確認ください。
-------------------------------------------------------------------------
↓
-------------------------------------------------------------------------
XXXXX様 お世話になります。 XXXX(株)の○○です。 商品カタログをお送りいたします。 ご確認ください。
-------------------------------------------------------------------------
といったように、改行が行われずメール受信してしまいます。
どうすれば、テキストフィールドと同様に改行が反映されるのでしょうか?
ご教示ください。
よろしくお願いいたします。
shige- 投稿数 : 62
登録日 : 2018/03/31
Re: 4Dメール送信について
$error:=SMTP_SetPrefs (0;10;0)
$error:=SMTP_Charset (1;1)
$error:=SMTP_AddHeader ($smtpID;"Content-Type:";"text/plain;charset=Shift_JIS";1)
上記をすべて除外するとどうなるでしょうか。
$error:=SMTP_Charset (1;1)
$error:=SMTP_AddHeader ($smtpID;"Content-Type:";"text/plain;charset=Shift_JIS";1)
上記をすべて除外するとどうなるでしょうか。
miyako- 投稿数 : 485
登録日 : 2016/07/05
Re: 4Dメール送信について
早速のご連絡ありがとうございます。
上記をコメント化してメール送信してみたのですが...結果は変わりませんでした。
文字化けはありませんが、改行はされません。
何がわるいのでしょうか?
上記をコメント化してメール送信してみたのですが...結果は変わりませんでした。
文字化けはありませんが、改行はされません。
何がわるいのでしょうか?
shige- 投稿数 : 62
登録日 : 2018/03/31
Re: 4Dメール送信について
再起動していませんでした。
再起動してから再度メール送信すると...
「��������������� ���������������������」
文字化けしてしまいます。
ちなみに、テキストフィールドは「ご担当者様\r\rいつもお世話になりありがとうございます。」
のような感じで改行コードが入っています。
再起動してから再度メール送信すると...
「��������������� ���������������������」
文字化けしてしまいます。
ちなみに、テキストフィールドは「ご担当者様\r\rいつもお世話になりありがとうございます。」
のような感じで改行コードが入っています。
shige- 投稿数 : 62
登録日 : 2018/03/31
Re: 4Dメール送信について
Unicodeモードでしょうか
$mode:=Get database parameter(Unicode mode) //1ならUnicodeモード
miyako- 投稿数 : 485
登録日 : 2016/07/05
Re: 4Dメール送信について
$error:=SMTP_SetPrefs (1;10;0)
これだけ適用するどどうなるでしょうか($1が1)
miyako- 投稿数 : 485
登録日 : 2016/07/05
Re: 4Dメール送信について
$mode:=Get database parameter(Unicode mode) //1ならUnicodeモード
は「1」が返りました。
$error:=SMTP_SetPrefs (1;10;0)
だけ、適応していましたが、結果は文字化けしていました。
は「1」が返りました。
$error:=SMTP_SetPrefs (1;10;0)
だけ、適応していましたが、結果は文字化けしていました。
shige- 投稿数 : 62
登録日 : 2018/03/31
Re: 4Dメール送信について
すみませんコメント化したつもりが以下が残っていました。
$error:=SMTP_AddHeader ($smtpID;"Content-Type:";"text/plain;charset=Shift_JIS";1)
コメント化し、再起動後、メール送信したら改行を確認出来ました。
マニュアルでは、「SMTP_Charset」「SMTP_AddHeader」はセットで使用するように記述されていましたが
必要ないのですね。
$error:=SMTP_AddHeader ($smtpID;"Content-Type:";"text/plain;charset=Shift_JIS";1)
コメント化し、再起動後、メール送信したら改行を確認出来ました。
マニュアルでは、「SMTP_Charset」「SMTP_AddHeader」はセットで使用するように記述されていましたが
必要ないのですね。
shige- 投稿数 : 62
登録日 : 2018/03/31
Re: 4Dメール送信について
もう一点質問ですが...
メール送信には、カタログファイル(PDF)を添付して送信するのですが、
ファイル名(日本語)が文字化け(????)してしまいます。
$error:=SMTP_Attachment ($smtpID;$AttachPath;2;0;"";"")
ファイルの中身は問題ないのですが、ファイル名を日本語で送信するにはどうすればよいのでしょうか?
メール送信には、カタログファイル(PDF)を添付して送信するのですが、
ファイル名(日本語)が文字化け(????)してしまいます。
$error:=SMTP_Attachment ($smtpID;$AttachPath;2;0;"";"")
ファイルの中身は問題ないのですが、ファイル名を日本語で送信するにはどうすればよいのでしょうか?
shige- 投稿数 : 62
登録日 : 2018/03/31
Re: 4Dメール送信について
v18でメール送信が標準コマンドになったこともありInternet Commandsの日本語サポートは幾らか限定的です。
日本語の添付ファイル名をメールのヘッダーで指定する方法はRFC 2183で定義されていますが,Internet Commandsはこれに対応しておらず
Content-Type: application/pdf;
{tab}name="日本語.pdf"
あるいは
Content-Type: application/pdf;
{tab}name="=E6=97=A5=E6=9C=AC=E8=AA=9E.pdf"
のような出力になっているかと思います。
標準コマンドのメール送信であれば,
Content-Disposition: attachment;
{tab}filename*0*=UTF-8'ja'%E6%97%A5%E6%9C%AC%E8%AA%9E.pdf;
のように正しく出力されるはずですが,Internet Commandsの場合,自作のエンコーダー(UTF-8バイトコードを出力する・76バイトを超過しないようにする・文字の途中で改行しないようにする・・・)が必要かもしれません。
日本語の添付ファイル名をメールのヘッダーで指定する方法はRFC 2183で定義されていますが,Internet Commandsはこれに対応しておらず
Content-Type: application/pdf;
{tab}name="日本語.pdf"
あるいは
Content-Type: application/pdf;
{tab}name="=E6=97=A5=E6=9C=AC=E8=AA=9E.pdf"
のような出力になっているかと思います。
標準コマンドのメール送信であれば,
Content-Disposition: attachment;
{tab}filename*0*=UTF-8'ja'%E6%97%A5%E6%9C%AC%E8%AA%9E.pdf;
のように正しく出力されるはずですが,Internet Commandsの場合,自作のエンコーダー(UTF-8バイトコードを出力する・76バイトを超過しないようにする・文字の途中で改行しないようにする・・・)が必要かもしれません。
miyako- 投稿数 : 485
登録日 : 2016/07/05
Re: 4Dメール送信について
ご連絡ありがとうございます。
SMTP_Charset (1;1)...を入れたら添付ファイル名が日本語になりました。
一応、これでメール送信は問題なく出来るようになりました。
ありがとうございました。
SMTP_Charset (1;1)...を入れたら添付ファイル名が日本語になりました。
一応、これでメール送信は問題なく出来るようになりました。
ありがとうございました。
shige- 投稿数 : 62
登録日 : 2018/03/31
miyako likes this post
Re: 4Dメール送信について
すみません。
関連して、もう一点質問ですが....
別メニューで、HTML形式でのメール送信があるのですが
こちらも日本語が部分的に文字化けしてしまいます。
$error:=SMTP_SetPrefs (0;10;0)
$error:=SMTP_Charset (1;1)
$error:=SMTP_AddHeader ($smtpID;"Content-Type:";"text/html;charset=ISO-2022-JP";1)
$error:=SMTP_Body ($smtpID;vHTMLMail;0)
vHTMLMailをHTML出力し、ブラウザで見ると文字化けはしていません。
メールで送信すると、日本語の一部が文字化けしてしまいます。
どこが問題なのでしょうか??
関連して、もう一点質問ですが....
別メニューで、HTML形式でのメール送信があるのですが
こちらも日本語が部分的に文字化けしてしまいます。
$error:=SMTP_SetPrefs (0;10;0)
$error:=SMTP_Charset (1;1)
$error:=SMTP_AddHeader ($smtpID;"Content-Type:";"text/html;charset=ISO-2022-JP";1)
$error:=SMTP_Body ($smtpID;vHTMLMail;0)
vHTMLMailをHTML出力し、ブラウザで見ると文字化けはしていません。
メールで送信すると、日本語の一部が文字化けしてしまいます。
どこが問題なのでしょうか??
shige- 投稿数 : 62
登録日 : 2018/03/31
Re: 4Dメール送信について
$error:=SMTP_AddHeader ($smtpID;"Content-Type:";"text/html;charset=ISO-2022-JP";1)
"charset="を省いてみてはいかがでしょうか。
$error:=SMTP_AddHeader ($smtpID;"Content-Type:";"text/html";1)
miyako- 投稿数 : 485
登録日 : 2016/07/05
Re: 4Dメール送信について
ご連絡ありがとうございます。
「SMTP_SetPrefs」「SMTP_Charset」「SMTP_AddHeader」をコメント化し、
「SMTP_Body ($smtpID;vHTMLMail;0) 」となっていたのを
「SMTP_Body ($smtpID;vHTMLMail;4)」にしたところ、文字化け現象はなくなりました。
恐らくこれであれば問題なさそうです。
(「SMTP_SetPrefs」「SMTP_Charset」「SMTP_AddHeader」をコメント化したら何か問題ありますか?)
ありがとうございました。
「SMTP_SetPrefs」「SMTP_Charset」「SMTP_AddHeader」をコメント化し、
「SMTP_Body ($smtpID;vHTMLMail;0) 」となっていたのを
「SMTP_Body ($smtpID;vHTMLMail;4)」にしたところ、文字化け現象はなくなりました。
恐らくこれであれば問題なさそうです。
(「SMTP_SetPrefs」「SMTP_Charset」「SMTP_AddHeader」をコメント化したら何か問題ありますか?)
ありがとうございました。
shige- 投稿数 : 62
登録日 : 2018/03/31
Permissions in this forum:
返信投稿: 不可