2012-04-24 3 views
0

Я создал небольшой C# консольное приложение для отправки почты, используя внешний вид, который очень простКак отправить почту с помощью Outlook и PHP?

Outlook.Application oApp = new Outlook.Application(); 
      //Create the new message by using the simplest approach. 
Outlook.MailItem oMsg = (Outlook.MailItem)oApp.CreateItem(Outlook.OlItemType.olMailItem); 
      oMsg.Recipients.Add("[email protected]"); //////////////////problem line 
      oMsg.Subject = "aaaa"; 
      oMsg.Body = "body"; 
      //Send the message. 
      oMsg.Save(); 
      oMsg.Send(); 

Этот код должен быть вызван из кода PHP.

1) Он отлично работает в консоли.

2) когда я вызываю из php, я получаю сообщение об ошибке. Я заметил, что это консольное приложение при вызове php будет запускаться в системном пользователе. поэтому я сделал outlook для запуска в качестве системы, но я все еще получаю эту ошибку. Я запускаю сервер Apache.

System.Runtime.InteropServices.COMException (0x80004004): Операция прервана (Исключение из HRESULT: 0x80004004 (E_ABORT)) на Microsoft.Office.Interop.Outlook._MailItem.get_Recipients() в SyncEmail.Program.sendMailUsingOutlook (String, String body, String subject) в D: \ NotEncrypted \ Projects \ SyncEmail \ SyncEmail \ Program.cs: строка 121

Я тяну свои волосы, глядя на разные вещи. Любая помощь будет оценена по достоинству. Спасибо, что прочитали мой пост .

После того, как я скажу, что некоторые ребята говорят, что используют php, я решил пойти по php-маршруту и ​​написал этот код и получил ту же ошибку.

if (!defined(‘olMailItem’)) define(“olMailItem”,0); 
$objApp = new COM(“Outlook.Application”); 
$myItem = $objApp->CreateItem(olMailItem); 
$myItem->To=’[email protected]’; 
$myItem->SentOnBehalfOfName = ‘[email protected]’; 
$myItem->Subject=”This is a test”; 
$myItem->Body=”This is a Body Section now…..!”; 
$myItem->Send(); 

я получаю эту ошибку

Фатальная ошибка: Uncaught исключение 'com_exception является' с сообщением 'в D: \ NotEncrypted \ XAMPP \ HTDOCS \ медь \ система \ Modules \ Projects \ index.php в строке 11251 com_exception является (!): Ошибка [0x80004004] Операция прервана в D: \ NotEncrypted \ XAMPP \ HTDOCS \ медь \ система \ Modules \ Projects \ index.php в строке 11251

ответ

0

PHP может получить работу непосредственно

$oApp = new COM("Outlook.Application") or die('error'); 
$oMsg = $oApp ->CreateItem($oApp->OlItemTyp->olMailItem); 
$oMsg ->Recipients->Add("[email protected]"); 
$oMsg ->Subject="aaaa"; 
$oMsg ->Body="body"; 
$oMsg ->Save(); 
$oMsg ->Send(); 
+0

есть какие-либо ссылки я могу использовать, чтобы прочитать о это. Я новичок в php, спасибо за помощь. –

+0

https://www.google.com.ng/search?sourceid=chrome&ie=UTF-8&q=php+Outlook.Application это поможет – Baba

+0

Неустранимая ошибка: исключить исключение 'com_exception' с сообщением 'в D: \ NotEncrypted \ xampp \ htdocs \ copper \ system \ modules \ projects \ index.php в строке 11251 (!) com_exception: Ошибка [0x80004004] Операция прервана в D: \ NotEncrypted \ xampp \ htdocs \ copper \ system \ modules \ projects \ index.php on строка 11251 ---------------- Я использую php-код в своем исходном сообщении. ошибка, которую я получаю от .net-кода и php-кода, то же самое, я думаю. –

0

Создать из вашего C проекта # прогноз на сервер, а также прослушивать порт (бывший 3455) И использовать CURL в вашем PHP скрипт для подключения к серверу (C# программа)

Смежные вопросы