BASP21で機種依存文字を送信する方法

このQ&Aのポイント
  • VC++ 6.0でメール送信プログラムを作成している際、機種依存文字(はしごだかなど)を送信すると文字化けが発生します。
  • メールのヘッダーに「Content-Transfer-Encoding: 7bit」を設定することで問題を解決できますが、設定方法がわかりません。
  • 現在の方法では「Content-Type: text/plain; charset=utf-8」としてエンコードしていますが、互換性を確保するためには「ISO-2022-JP」で送信したいです。
回答を見る
  • ベストアンサー

BASP21で機種依存文字を送信する方法

VC++ 6.0にてメール送信PGを作成しているのですが機種依存文字(はしごだか等)を送信すると 文字化けが起こって困っています。 ※outlook expressでは正常なのですが他のメールソフトではダメです。 色々調べた結果メールのヘッダーに「Content-Transfer-Encoding: 7bit」を設定すればうまく行きそうなことはわかりましたが肝心の設定の仕方がわかりません。 現在 sprintf(szTo, "xxx@xx.xx.xx"); sprintf(szFrom, "yy@yy.yy.yy"); sprintf(szSubject, "Subject test"); sprintf(szBody, bufs); ret = BSendMail( pszSmtpServer, szTo, szFrom, szSubject, szBody, NULL, szErrorMessage ); で行っています。 エンコード設定等は上記の部分で sprintf(szTo, ">Content-Type: text/plain; charset=utf-8 \t xx@xx.xxxx"); で行えます。 このやり方ですと機種依存文字も正常に送れるのですが互換性確保の為「ISO-2022-JP」で送りたいと思います。 「Content-Transfer-Encoding: 7bit」を設定する方法が有りましたら又機種依存文字を正常に送れる方法が有りましたらお教えください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • notnot
  • ベストアンサー率47% (4846/10257)
回答No.1

>このやり方ですと機種依存文字も正常に送れるのですが互換性確保の為「ISO-2022-JP」で送りたいと思います。 ISO-2022-JPにはJISの漢字コードしか含まれませんので、すなおに、utf-8にしましょう。非JISの文字を送りたいのでしたらそれしか方法は有りません。

cz75_1st
質問者

お礼

utf-8で送ってみたのですがoutlookexpress以外では件名がうまく表示できませんでした。 VCから送るのを諦めPHPをコールしてPHPから送る方法で解決しました。 ありがとうございました。

関連するQ&A

  • BASP21を使ってファイル添付メールを送信したい

    basp21 pro(http://www.b21soft.co.jp/basp21/)でメールにファイル添付したいのですが エクセルファイルを添付したいのですが、SendMailで型が一致しませんというエラーが出ます。 教えてください><; ファイル名に指定しているセルCells(i, 28) は =AC3&"\"&AD3 の様に場所を指定しています (AD3 部分が変わっていくので。ここを変えた方がいいでしょうか?) 内容は一部省略しておりますが ↓です Sub SendMailMacro1() Dim szServer, szTo, szFrom, szSubj, szBody, ret, szLogfile, z As String Dim szFile As Variant Dim i, j As Long Dim fs, a As Object On Error GoTo Err_Handler Set fs = CreateObject("Scripting.FileSystemObject") Set a = fs.CreateTextFile("C:\Program Files\log.txt", True) szServer = Worksheets("maildata").Cells(10, 2) szFrom = Worksheets("maildata").Cells(8, 2) With Worksheets("senddata") i = 2 Do While .Cells(i, 1) <> "END" If .Cells(i, 1) = "1" Then If .Cells(i, 3) = "1" Then szTo = .Cells(i, 5) & vbTab & "bcc" & vbTab & .Cells(1, 36) End If szBody = .Cells(i, 26) szSubj = .Cells(i, 25) szFile = .Cells(i, 28) ret = SendMail(szServer, szTo, szFrom, szSubj, szBody, szFile) If Len(ret) <> 0 Then a.WriteLine (Date & " " & Time & " " & ret & "-" & szTo & "-" & szBody) MsgBox "エラー ・・・ " & i & "行目 ( " & ret & ")" .Cells(i, 1) = "エラー" Else .Cells(i, 1) = "完了" End If End If i = i + 1 Loop End With MsgBox "終了" GoTo Exit_sub Err_Handler: MsgBox Err.Description, vbCritical, "Error" GoTo Exit_sub Exit_sub: a.Close End Sub 宜しくお願い致します<(_ _)>

  • gmailからwillcomへのemailにおける文字列について

    gmailからwillcomへメールを送ると本文の前に文字列が出るのですがこれはどうすれば消すことができるのでしょうか? gmailからwillcom、willcomからgmailに送ったtestとのみ入力した文章をコピーします。 ------=_Part_18502_15771748.1167620538812 Content-Type: text/plain; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline test ------=_Part_18502_15771748.1167620538812 Content-Type: text/html Content-Transfer-Encoding: 7bit Content-Disposition: inline test ------=_Part_18502_15771748.1167620538812-- ここの ------=_Part_18502_15771748.1167620538812 Content-Type: text/plain; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline という部分です。 これを抜いてtestという文章だけをメール送信するにはどうすればよいのでしょうか?

  • PHPメールフォームから機種依存文字を送信すると、文字化けしてしまう

    PHPのメールフォームを作成しましたが、下記2点で悩んでいます。 初心者で申し訳ありませんが、ご教授願いします。 PHP(PHP作成文字コードは「UTF-8」)でメールフォームを作成しました。 --------------------------------------- mb_language("Ja"); mb_internal_encoding("UTF-8"); $header = "From:" .mb_encode_mimeheader($guestName) ."<" .$guestEmail .">"; $mailto = "test@xxx.com"; $subject = "ご連絡ありがとうございます。"; $boRtn=mb_send_mail($mailto,$subject,$content.$content_guest,$header); --------------------------------------- (1)送信した結果、機種依存文字が化けてしまいました。 機種依存以外の文字は文字化けしません。 送信した機種依存文字は「ローマ数字やまるいちなど」 (2)また受信したメールのヘッダー部分を表示したら、 件名の日本語文字列が3行くらいに改行されてしまいます。 上記の現象(特に機種依存文字の送信)について、 記述ミスや足りない点など教えて下さい。 宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • ドコモ携帯に絵文字入りメール送信

      はじめまして。    サラバナと申します。JAVA言語使ってドコモ携帯に絵文字入りメールの送信について教えてください。 テキストエデイタで ドコモのバイナリコード入力しました。例えば &#xE63E;  Content-Type と Content-Transfer-Encoding の設定教えてください。    以上 宜しくお願いします。      

  • hotmailで返信したときに勝手に文字列が付け加えられるのは何?

    hotmailをよく利用しています。 メールの’返信’を使用したときに送信前には表示されないのに 本文の前に↓のような文字列が 勝手に追加されて送られる時があるようなのですが これは一体何でしょう? 追加しないよう設定できるのでしょうか? 条件がハッキリとはわからないのですが 一旦下書きに移動されてから送信すると付くようにも思います。 -----ここから------- <**********(よくわからない文字列)***********.gbl> Content-Type: text/plain; charset="iso-2022-jp" Content-Transfer-Encoding: 7bit MIME-Version: 1.0 -----ここまで-------

  • Advanced/W-ZERO3[es]のメール

    この度、Advanced/W-ZERO3[es]購入しました。 と言うのも、受信するメールのが Content-Transfer-Encoding: base64 で送られてくるメールがあり、これを表示する必要があったために機種変更しました。 が、今回受信しても文字化けを起こします。。。 Content-Transfer-Encoding: base64 のメールはこの機種を使っても正常に表示できないのでしょうか。 また、メールソフトはW-zero3メール とoutlookがありますが、ウィルコムアカウント以外のアカウントをどちらにも設定できるようですが、どちらがどう違うのかわかりません。 どなたかお分かりになりますでしょうか。 よろしくお願い致します。

  • 機種依存文字

    いつもお世話になっております。 機種依存文字について質問させていただきます。 CSVファイルをアップロードして、文字コードがEUCのデータベースに 格納したいと思っております。(PHPの文字コードもEUCになっております。) 「(はしごたか)」「(たつさき)」などの機種依存文字が 文字化けをしてしまいます。 $name = mb_convert_kana(mb_convert_encoding($data[1], "EUC-JP", "Shift-JIS"), "KV") $name = mb_convert_kana(mb_convert_encoding($data[1], "eucJP-win", "Shift-JIS"), "KV") としても文字化けをしてしまいます。 また、以下の設定をしても文字化けは解消されません。 ini_set('default_charset', 'eucJP-win'); ini_set('mbstring.http_output', 'eucJP-win'); ini_set('mbstring.internal_encoding', 'eucJP-win'); 皆様、ご提示お願いいたします。 よろしくお願いいたします。 <環境> OS:Red Hat Linux PHP:Version 4.3.1 DB:MySQL 3.23.56

    • ベストアンサー
    • PHP
  • 文字化けします。

    マルツオンラインのメールマガジンが最近文字化けするようになりました。 メールの二行ほどに以下のメッセージを読むことができます。 Content-Type: text/plain; charset=iso-2022-jp Content-Transfer-Encoding: 7bit 突然の文字化けでエンコード等を色々変えてみましたが、未だに読めません。 読めるようにするにはどうしたらよいのでしょうか。

  • メルマガで機種依存文字を使って無いのに

    メルマガで機種依存文字を使って無いのに機種依存あつかいになり 送信できない。 一度使えたテンプレートでまたメルマガを送ろうとしたら今度はテンプレートの文字が 機種依存文字ですとなる ■とかがつかえたり使えなかったりする。 とくにコピーをして貼り付けなどをすると全く使っても居ない文字が引っかかったりする なんででしょうか? コピーではみえない文字とか半角すぺーすとがはいるんでしょうか?

  • VB6で、Bsmtp.dllを使って、メール送信した際、Time Ou

    VB6で、Bsmtp.dllを使って、メール送信した際、Time Outエラーが発生。 So-netのメールサーバーmail.so-net.ne.jpへメール送信していたのですが、最近Time Outエラーで送れなくなってしまいました。 標準モジュールで Public Declare Function SendMail Lib "bsmtp" (szServer As String, szTo As String, szFrom As String, szSubject As String, szBody As String, szFile As String) As String と定義し、 strRet = SendMail(szServer, szTo, szFrom, szSubject, szBody, szFile) で送信しています。 So-netのメールサーバーmail.so-net.ne.jpへ送信する場合、ポート番号587を使用するようですが、それが原因なのでしょうか? Bsmtp.dllのバージョンは、2.7.6.29です。 よろしくお願いします。

専門家に質問してみよう