CDO オブジェクトを使用して電子メール メッセージを作成しています (および VB6 ですが、それは問題ではありません)。
With New CDO.Message
.To = "<address>"
.Subject = "Manifest test 8"
.Organization = "<company>"
.From = "<address>"
.Sender = .From
With .Configuration
.Fields(cdoSendUsingMethod).Value = cdoSendUsingPort
.Fields(cdoSMTPServer).Value = "192.168.0.4"
.Fields.Update
End With
With .AddAttachment("c:\import\customermanifestOURACCOUNT11122008110032.dat")
.Fields(cdoContentDisposition).Value = "attachment; filename=""Consignor.dat"""
.Fields.Update
End With
.Send
End With
ご覧のとおり、メッセージは空で、メールで名前を変更した添付ファイルが含まれています。
添付ファイルは固定幅の ASCII テキスト ファイルであり、CRLF で区切られた、システムからの出力が 1 行に 1 レコード含まれています。
メッセージが送信されると、すべての CR が添付ファイルから削除されるため、受信者は LF のみを含むファイルを取得するため、破損しています。
7bit と base64に変更しようとしましたがContentEncoding
、うまくいきませんでした。
ContentMediaType
へのアタッチメントを設定しようとしましたがtext/plain
、うまくいきませんでした。
追加後に添付ファイルの名前を変更しないようにしましたが、うまくいきませんでした。
ContentMediaType
添付ファイルの はデフォルトapplication/octet-stream
で に設定されているため、そもそもなぜ (そして何によって) 変更されるのかわかりません。
.SaveToFile()
の直後に添付ファイルに対して実行すると、.Send()
有効なファイルがディスクに保存されます。
これは私のコードの問題ですか、それともメールサーバーの設定か何かですか?