Запуск почтовой программы (MAPI) от C# (с вложением)

Если я прав, вы хотите отобразить модальное изображение после нажатия на кнопку редактирования.

<a href="javascript:void(0)" onclick="get_modal_details('<?php echo $row['rid'];?>')" class="btn btn-warning btn-sm">Edit</a>

Надеюсь, $row['rid'] - это ваш уникальный идентификатор, а вот HTML-код для модальности

<div class="modal" id="detail_modal_pop" style="overflow: scroll;"> 
      <div class="modal-dialog modal-lg"> 
        <div class="modal-content">
          <div class="modal-header" >
            <button type="button" class="close close_c_modal" >&times;</button>
            <h4 class="modal-title c_modal">Details</h4>
          </div>
          <div class="modal-body"> 
             <h6 id="load_wait" class="text-center">Please wait...</h6>
             <div id="detail_modal_pop_result" style="display:none;"></div> 
          </div>
          <div class="modal-footer">
            <button type="button" class="btn btn-default close_c_modal" >Close</button>
          </div>
        </div> 
      </div>
 </div>

отобразить модальное нажатие на кнопку редактирования, используйте приведенный ниже скрипт

<script>
function get_modal_details(rid) 
{  
    $('#detail_modal_pop').fadeIn(200);  
    $("#detail_modal_pop_result").hide();
    $("#load_wait").show(); 
    jQuery.ajax({
    url: "<?php echo base_url() ?>some_controller/controller_method", 
    data: { rid: rid },
    type: "POST",
    success:function(data){
        $("#load_wait").hide(); 
        $("#detail_modal_pop_result").show();
        $("#detail_modal_pop_result").html(data); 
    },
    error:function (){}
    }); 
} 
$(".close_c_modal").on("click", function() 
{
    $('#detail_modal_pop').fadeOut(200); 
    $("#detail_modal_pop_result").hide(300);
    $('#detail_modal_pop_result').html('');
    $("#load_wait").show(300);
}); 
 </script>

А вот код PHP

[1117 ]
<?php
//"Some_controller.php" Controller

public function controller_method()
{
   if(isset(

Если я прав, вы хотите отобразить модальное изображение после нажатия на кнопку редактирования.

[110]

Надеюсь, $row['rid'] - это ваш уникальный идентификатор, а вот HTML-код для модальности

[111]

отобразить модальное нажатие на кнопку редактирования, используйте приведенный ниже скрипт

[112]

А вот код PHP

[1117 ]
[113]

Надеюсь, это поможет вам.

POST['rid'])) { $rid = (int)

Если я прав, вы хотите отобразить модальное изображение после нажатия на кнопку редактирования.

[110]

Надеюсь, $row['rid'] - это ваш уникальный идентификатор, а вот HTML-код для модальности

[111]

отобразить модальное нажатие на кнопку редактирования, используйте приведенный ниже скрипт

[112]

А вот код PHP

[1117 ]
[113]

Надеюсь, это поможет вам.

POST['rid']; // $get_info = $this->Model->get_info($rid); // Write modal content here... } } ?>

Надеюсь, это поможет вам.

6
задан Steven 20 May 2009 в 04:21
поделиться

5 ответов

В работе мы успешно сделали это с помощью VSTO.

Вот фрагмент некоторых строк, которые мы использовали в VISTA с Outlook 2007: (код находится в VB.net).

Обратите внимание, что использование заблокировано безопасностью при выполнении определенных действий с объектом Outlook. (для адреса, тела и других свойств, помеченных как угрозы безопасности). Мы используем сторонний компонент (Redemption), чтобы обойти эту безопасность. Если вы не используете какой-либо менеджер безопасности, Outlook выдаст небольшое всплывающее окно, что что-то извне пытается получить к нему доступ, и вы можете предоставить ему доступ через некоторое время.

Импорт интерфейса Outlook.

Imports Outlook = Microsoft.Office.Interop.Outlook

Этот пример дает вам некоторое направление, а не полный рабочий пример.

dim MailItem As Microsoft.Office.Interop.Outlook.MailItem

' Lets initialize outlook object '
MailItem = OutlookSession.Application.CreateItem(Outlook.OlItemType.olMailItem)
MailItem.To = mailto

MailItem.Subject = communication.Subject
MailItem.BodyFormat = Outlook.OlBodyFormat.olFormatHTML
MailItem.HTMLBody = htmlBody

MailItem.Attachments.Add(filename, Outlook.OlAttachmentType.olByValue)

' If True is supplied to Display it will act as modal and is executed sequential. '
SafeMail.Display(True)

OutlookSession в приведенном выше примере исходит из этого свойства:

    Public ReadOnly Property OutlookSession() As Outlook.NameSpace
        Get
            If Not OutlookApplication Is Nothing Then
                Return OutlookApplication.GetNamespace ("MAPI")
            Else
                Return Nothing
            End If
        End Get
    End Property

Как вы можете видеть, для этого используется MAPI.

Удачи с этим.

5
ответ дан 10 December 2019 в 02:53
поделиться

Бит низкоуровневый метод, но с помощью обработчика mailto вы можете сделать это

System.Diagnostics.Process.Start("mailto:something@somewhere.com?subject=hello&attachment=c:\\chicken.xls");

Примечание : Как уже указывалось, это может не работать на всех клиентах, поскольку оно не является частью спецификация mailto URL . Наиболее важным (по крайней мере, в моем мире) является то, что Outlook 2007 не поддерживает его, в то время как старые версии поддерживали его.

1
ответ дан 10 December 2019 в 02:53
поделиться

I ' Я не уверен, нужно ли вам открыть электронное письмо в Outlook или вы просто хотите отправить электронное письмо с вложением из C #. Я знаю, что вы написали open in outlook, но вы можете предположить, что это единственный способ сделать это. Если вы просто хотите отправить электронное письмо с вложением, это можно сделать, как показано ниже.

#using System.Net.Mail;

SmtpClient smtpClient = new SmtpClient(host, port);

MailMessage message = new MailMessage(from, to, subject, body);
Attachment attachment = new Attachment(@"H:\attachment.jpg");
message.Attachments.Add(attachment);

System.Net.NetworkCredential SMTPUserInfo = new System.Net.NetworkCredential(username, password);
smtpClient.UseDefaultCredentials = false;
smtpClient.Credentials = SMTPUserInfo;
smtpClient.Send(message);

Вы также можете сделать это без бита аутентификации в зависимости от вашего почтового сервера.

1
ответ дан 10 December 2019 в 02:53
поделиться

Код C # для отправки электронной почты через Outlook; предупреждения системы безопасности не появляются.

var outlook = new ApplicationClass();
MailItem mailItem = (MailItem)outlook.Session.Application.CreateItem(Outlook.OlItemType.olMailItem);

mailItem.Display(false);
0
ответ дан 10 December 2019 в 02:53
поделиться

Вам действительно не нужно выкупить VB, как предложено выше, если вы просто устанавливаете свойства в электронном письме и не читаете их. Вот простая функция VB для отображения / отправки электронной почты через Outlook с вложением. (Этот код ссылается на библиотеку объектов Microsoft Outlook 12.0, например, «C: \ Program Files \ Microsoft Office \ Office12 \ MSOUTL.OLB»).

Sub DoMail()
    Set objOL = CreateObject("Outlook.Application")
    Set objNewMail = objOL.CreateItem(olMailItem)

    Dim filename As String
    filename = "C:\\temp\\example.txt"

    With objNewMail
        .To = "cjoy@spam_me_not.com"
        .Subject = "test"
        .Body = "Test Body"
        .Attachments.Add filename, Outlook.OlAttachmentType.olByValue
    End With

    objNewMail.Display

    'objNewMail.Send
End Sub
2
ответ дан 10 December 2019 в 02:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: