Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 创建VB代码以从Outlook中的邮件正文中提取电子邮件地址_Php_Vba_Vb.net_Outlook - Fatal编程技术网

Php 创建VB代码以从Outlook中的邮件正文中提取电子邮件地址

Php 创建VB代码以从Outlook中的邮件正文中提取电子邮件地址,php,vba,vb.net,outlook,Php,Vba,Vb.net,Outlook,让我解释一下我需要做什么: 问题: 我收到的在线订单的电子邮件会进入Outlook中的特定电子邮件收件箱,我想向发件人发送自动回复,让他们知道他们的订单已收到。问题是:发件人电子邮件不在发件人字段中,而是在电子邮件正文中-发件人字段中填充了我们的webadmin地址(电子邮件订单通过我们学校网站的在线表单生成,并从集中帐户发送。)因此,自动规则只需向web管理员电子邮件帐户发送电子邮件响应,而不是实际订单 电子邮件详细信息: 所有这些电子邮件都有相同的主题行。带有此主题行的所有电子邮件都会被过滤

让我解释一下我需要做什么:

问题:

我收到的在线订单的电子邮件会进入Outlook中的特定电子邮件收件箱,我想向发件人发送自动回复,让他们知道他们的订单已收到。问题是:发件人电子邮件不在发件人字段中,而是在电子邮件正文中-发件人字段中填充了我们的webadmin地址(电子邮件订单通过我们学校网站的在线表单生成,并从集中帐户发送。)因此,自动规则只需向web管理员电子邮件帐户发送电子邮件响应,而不是实际订单

电子邮件详细信息:

所有这些电子邮件都有相同的主题行。带有此主题行的所有电子邮件都会被过滤到文件夹“Online Orders-Incoming”中。所有电子邮件都必须在正文中包含发件人的电子邮件地址;这是一封真实的电子邮件(敏感信息用x’号标出-电子邮件地址在末尾):

=================================================================

打印请求:

打印职务名称:会计专业 部门:
账号:xxxx-xxxxxxx-xxxxxx-xxxxxx 文件编号:

日期:2013年8月22日

所需日期:2013年8月24日

原件数量:2份

份数:40份

完成副本:正面和背面

纸张颜色:绿色

纸张库存:无

成品尺寸:8 1/2 x 11

无碳选择:无

装订厂选择:无

墨水颜色:使用黑色墨水

特别说明:

谢谢, xxxxxx xxxxxxSENDERSREALEMAILADDRESS@xxx.edu

电话:分机XXXX 传真:分机XXXX

======================================================================

我对VB很陌生,但我有能力学习,但在开始学习时运气不太好。我想做的是生成一封电子邮件,发送到订单中嵌入的电子邮件地址,并让电子邮件包含一条简单的消息,让我们的客户知道我们已收到他们的订单


如果有人能为我提供帮助,我将不胜感激。

尝试将电子邮件正文(在空格上)拆分为一个数组,然后检查数组中的每个元素是否有@符号和句点。
大概是这样的:

For Each Sec in Strings.Split(Item.Body)
  If Sec.Contains("@") And Sec.Contains(".") Then
    ''At this point, Sec contains the email address. Do something here.

    Exit For
  End If
Next
要在自定义文件夹中获取电子邮件,请尝试以下操作:

Set Items = Session.GetDefaultFolder(olFolderInbox).Parent.Folders("Print Center").Items
或在自定义子文件夹中:

Set Items = Session.GetDefaultFolder(olFolderInbox).Parent.Folders("Print Center").Folders("Online Oredrs - Incoming").Items

在我的脑海中,你可以把主体放在一个字符串中,用
Strings.Split(emailBody)
将其标记为一个字符串数组,然后在数组中迭代寻找@and。一脉相承。类似于
如果strArr(index).Contains(“@”)和also strArr(index).Contains(“.”),那么…
您应该发布一些代码,向我们展示您在尝试解决问题时所做的工作。这正是我所想的。我现在的问题是我没有使用VisualBasic的经验,实际上我完全没有使用VisualBasic。到目前为止,我所拥有的是非常通用的。我很确定我能找到如何让它查找特定主题、特定电子邮件文件夹并生成我想要的电子邮件。这些都是很基本的。我完全搞不懂如何编写代码,在正文中查找电子邮件地址,并将其插入生成的电子邮件中的“收件人”字段。这是超级通用的,但这正是我所处的位置:在本次讨论中,我不知道如何使代码正确格式化。SorryPublic WithEvents myOlItems作为Outlook.Items公用子应用程序_Startup()'引用收件箱中的项目。因为myOlItems被声明为“WithEvents”,ItemAdd事件将在下面触发。设置myOlItems=Outlook.Session.GetDefaultFolder(olFolderInbox)。项目结束子私有子myOlItems\u项目添加(ByVal项目作为对象)如果TypeName(项目)=“MailItem”,那么如果Item.Subject=“打印中心在线订单”然后“我想我应该在这里设置代码”的End If End If End子线程-我将处理它,然后稍后再发布我的结果。这不是一个紧迫的问题,但这对我们的客户来说是一件好事,我想开始思考VB,不管怎样,还有什么更好的学习方法呢?:)我会让你知道这是怎么回事,再次感谢你的帮助。关于如何让宏看起来像用户定义的文件夹,有人有什么建议吗?文件夹名为“Online Oredrs-Incoming”,位于“打印中心”组文件夹下。打印中心文件夹与收件箱、发件箱等处于同一级别。。