以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [求助]何发送的邮件附件打不开?  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=152621)

--  作者:2425004926
--  发布时间:2020/7/16 16:40:00
--  [求助]何发送的邮件附件打不开?

图片点击可在新窗口打开查看此主题相关图片如下:1111111111112.png
图片点击可在新窗口打开查看
收到的邮件附件是这个样子,是一个PDF文件,以下是发送代码

        Dim m As New MailSender                                                \'定义发送邮件
        m.Host = dr0("发件服务器")                                             \'qq邮箱域名
        m.EnableSsl = True                                                     \'使用安全套接字层 (SSL) 加密连接,必须将属性设置为True
        m.Account = Forms("公司").Controls("ComboBoxSendEmail").Text           \'登录邮件服务器的帐号,自己邮箱
        m.Password = dr0("授权码")                                             \'登录邮件服务器的授权码,不是密码
        m.From = Forms("公司").Controls("ComboBoxSendEmail").Text              \'发件人邮箱
        m.To = Forms("公司").Controls("TextBoxReceiveEmail").Text              \'收件人邮箱
        m.Title = Forms("公司").Controls("ComboBoxEmailText").Text             \'邮件标题
        m.Content = Forms("公司").Controls("TextBoxText").Text                 \'邮件的正文内容
        m.AddAttachments("Attachments\\邮件附件\\" & Forms("公司").Controls("CheckedComboBoxMaterialSort").Text)              \'添加附件,文本框内容对应附件文件
        m.SendAsync()

为何发送的邮件附件打不开?也下载不了

--  作者:2425004926
--  发布时间:2020/7/16 16:54:00
--  
 m.AddAttachments("Attachments\\邮件附件\\" & Forms("公司").Controls("CheckedComboBoxMaterialSort").Text)
这样的写法,收到的邮件也没有显示完整的附件名称,这一行代码是否哪里有问题

--  作者:z769036165
--  发布时间:2020/7/16 17:01:00
--  
设置邮件的编码为utf-8
--  作者:2425004926
--  发布时间:2020/7/16 17:14:00
--  
 m.Encoding = Encoding.UTF8
我加了这个,和原来收到的附件显示一样

我又试着更改了引号
m.AddAttachments("Attachments\\邮件附件\\‘" & Forms("公司").Controls("CheckedComboBoxMaterialSort").Text & “‘”)
结果显示出错
Could not find file \'C:\\Users\\zc\\Desktop\\项目文件名称\\Attachments\\邮件附件\\\'邀请函.pdf\'\'.

我想用的是相对位置,即  “Attachments\\邮件附件”  文件夹下的文件

不知问题在哪儿?

--  作者:2425004926
--  发布时间:2020/7/16 17:15:00
--  
 收到的正文是没有问题,只是附件出现问题
--  作者:有点蓝
--  发布时间:2020/7/16 17:23:00
--  
使用完整路径:m.AddAttachments(ProjectPath & "Attachments\\邮件附件\\" & Forms("公司").Controls("CheckedComboBoxMaterialSort").Text)

另外去掉单引号,又不是查询条件

--  作者:2425004926
--  发布时间:2020/7/16 17:40:00
--  
 m.AddAttachments(ProjectPath & "Attachments\\邮件附件\\" & Forms("公司").Controls("CheckedComboBoxMaterialSort").Text)
路径已经改了,可是收到的附件显示还是没有变

之前收件箱是QQ邮箱,用手机看收到的邮件附件
试着又用126邮箱收,看到附件显示和手机的一样
都是以下图片


图片点击可在新窗口打开查看此主题相关图片如下:222222.png
图片点击可在新窗口打开查看



--  作者:2425004926
--  发布时间:2020/7/16 17:41:00
--  
文件名都成了ATT00002.bin
--  作者:z769036165
--  发布时间:2020/7/16 17:43:00
--  
我原来用自带的邮件发送,也是这样的情况,改成这个方式才行的
[此贴子已经被作者于2020/7/16 17:43:39编辑过]

--  作者:2425004926
--  发布时间:2020/7/16 17:49:00
--  
 m.Encoding = Encoding.UTF8这个也用了,可是为什么还是没变化,与这个的用法前后顺序有关系吗
我放在了最下边位置
        Dim m As New MailSender                                                \'定义发送邮件
        m.Host = dr0("发件服务器")                                             \'qq邮箱域名
        m.EnableSsl = True                                                     \'使用安全套接字层 (SSL) 加密连接,必须将属性设置为True
        m.Account = Forms("公司").Controls("ComboBoxSendEmail").Text           \'登录邮件服务器的帐号,自己邮箱
        m.Password = dr0("授权码")                                             \'登录邮件服务器的授权码,不是密码
        m.From = Forms("公司").Controls("ComboBoxSendEmail").Text              \'发件人邮箱
        m.To = Forms("公司").Controls("TextBoxReceiveEmail").Text              \'收件人邮箱
        m.Title = Forms("公司").Controls("ComboBoxEmailText").Text             \'邮件标题
        m.Content = Forms("公司").Controls("TextBoxText").Text                 \'邮件的正文内容
        m.AddAttachments(ProjectPath & "Attachments\\邮件附件\\" & Forms("公司").Controls("CheckedComboBoxMaterialSort").Text)               \'添加附件
        m.Encoding = Encoding.UTF8
        m.SendAsync()