在 LotusScript 代理中,我使用 MIME 类在 MIME 中创建了一个多部分邮件。它工作正常,邮件发送正确。
只有一个大问题:名称中带有重音字符的文件无法正确传输。内容正确,但名称不正确。我已经尝试了 100 种方法,但要么不可能,要么我做错了。
这是(部分)我的代码:
Set Me.mc = Me.mr.createChildEntity()
Set Me.mh = Me.mc.CreateHeader("Content-Disposition")
Call Me.mh.SetHeaderVal(disposition + {; filename="} & attName & {";charset="iso-8859-1"} )
Set Me.mh = Me.mc.CreateHeader("Content-ID")
Call Me.mh.SetHeaderVal( |<| & attName & |>| )
Set stream = Me.session.CreateStream
If stream.Open(attFile) Then
Call Me.mc.SetContentFromBytes(stream, strContentType & {; charset="iso-8859-1"; name="} & attName & {"}, ENC_IDENTITY_BINARY)
Call stream.Close
End If
如果我在 Notes 中手动创建邮件并发送相同的文件,它可以工作,但文件名是编码的。这个怎么拔??
更新: 我添加了以下函数来编码 attName:
Function URLEncode(s As String, cset As String) As String
Dim v As Variant
v= Evaluate(|@ReplaceSubstring(@URLEncode("| + cset + |";"| + s + |"); "%"; "=")|)
URLEncode= "=?" + cset + "?Q?" + v(0) + "?="
End Function