Thursday, September 29, 2005

Outlook Anti-Phishing

Microsoft Office Service Pack 2 ile birlikte Outlook’a bir güvenlik özelliği olan “anti-phishing” de eklenmiş oldu.

Phishing, bilinen web sitelerinden, çalışılan bankalardan veya internet servis sağlayıcılarından gönderilmiş gibi gelen e-posta'lar aracılığı ile kişisel bilgilerin elde edilmesini sağlayan dolandırıcılık yöntemi olarak tanımlanıyor.

Phishing mesajları SP2 ile birlikte otomatik olarak Junk E-Mail klasörüne düşüyor, mesaj plain text olarak gösteriliyor ve en önemlisi içerinde bulunan linkler gerçek yönlendirilen adresle birlikte gösteriliyor. Bu sayede istenmeyen web sitelerine yönlendirilmenin önüne geçilmesi amaçlanıyor.

Daha çok bilgi almak için http://office.microsoft.com/en-us/assistance/HA011841931033.aspx adresini ziyaret edebilirsiniz.

Friday, September 23, 2005

Spam Mesaj Gönderimi ve Filtreler - Spam Confidence Level

Spam mesajlar nasıl mı filtreleniyor? Her mesajın “Spam Confidence Level” adında bir değeri bulunuyor. Bu 1-9 arası değişen bir rakam ve mesajın “ne kadar spam” olduğunu bildiriyor. 1=mesaj spam değil, 9= mesaj maximum spamlikte. Bizdeki Exchange Server, 5’in üzerinde spam değer olan mesajları Outlook’a ulaştırmıyor. Spam değeri 4-5 olan mesajlar ise Outlook’da Junk Mail folderına düşüyor.

Bu SPL sahası Outlook’un derinliklerinde gizli. Bu sahayı Outlook’ta ortaya çıkarmak için
http://blogs.msdn.com/exchange/archive/2004/05/26/142607.aspx adresinde bahsedilen adımları gerçekleştirmeniz gerekiyor. http://www.msexchange.org/tutorials/Microsoft-Exchange-Intelligent-Message-Filter.html adresinde de konu ile ilgili teknik bilgi yer alıyor.

Neler etkili olduğuna gelince... Öncelikle mesaj içerisinde yer alan resimler bu değeri artırıyor. Mesajın kimden gittiği de bir etken. Bazı kelimeler (promosyon, kampanya vs.) ve cümle kalıpları da bu rakamı etkilemekte. Bu nedenle mesajınızda bu özel kelimelerin, resimlerin yer almaması gerekiyor.

Bu konuda tam kesin bir sonuç yakalamak mümkün değil çünkü: The technology behind IMF is SmartScreen-based, which means the add-on is able to distinguish between legitimate e-mail messages and unsolicited commercial e-mail or other spam.
SmartScreen tracks over 500,000 e-mail characteristics based on data from hundreds of thousands of MSN Hotmail subscribers who volunteered to classify millions of e-mail messages as legitimate or as spam.

En iyi yöntem şu: Mesajı oluşturun, önce kendinize gönderin. Junk’a düşüyorsa SCL değerini düşürmek için resimleri ve bazı buzz word’leri çıkararak yeniden kendinize gönderin... ta ki mesaj junk’a düşmeyene kadar...

Kolay Gelsin!

Monday, September 19, 2005

Video camera capture in managed code

If you’re running Windows XP, you can use a little-known XP feature called Windows Image Acquisition (WIA) that has a COM library you can program against. This makes capturing either a single frame of a picture or video stream from a USB web cam as easy as 1-2 lines of code.

MSDN Windows Image Acquisition docs –
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wiaaut/wia/wiax/overviews/startpagewiaaut.asp

Code Samples:
http://www.codeproject.com/dotnet/wiascriptingdotnet.asp
http://www.codeproject.com/csharp/webcamservice.asp (DirectShow wrapper)
http://www.codeproject.com/csharp/Motion_Detection.asp

There is also an open source project to program a webcam across any operating system that may interest you -
http://libusb.sourceforge.net/

Happy Coding!

Friday, September 16, 2005

Visual Studio.NET ile Outlook 2003 Uygulamaları - Attachment lar ile oynamak

Visual Studio 2003 ile managed code kullanarak Outlook'u yönetmek ve üzerinde uygulama geliştirmek mümkün. Çoğu zaman kodu sıfırdan yazmak yerine daha önce geliştirilmiş olan örnekleri kullanıp, bu örnekleri değiştirmek işleri hızlandırabiliyor. Böyle bir örneği inceleyelim:

Visual Studio.net 2003 öncelikle bir Com Add-in oluşturuyoruz. Visual Studio’da Com Add-in uygulamaları oluşturmak için: http://support.microsoft.com/?kbid=302901 adresindeki makaleden yararlanabilirsiniz.

- Yukarıdaki makaleyi inceledikten sonra Extensibility.IDTExtensibility2 interface’i hakkında bilgi edinmiş olacaksınız. Bir buton oluşturmak için bu interface’in OnStartupComplete prosedüründe aşağıdakine benzer bir kodla Outlook Standard toolbar’ında istediğiniz butonu ekleyebilirsiniz:

CommandBars oCommandBars;
CommandBar oStandardBar;

try
{
oCommandBars = (CommandBars) myApplication.GetType().InvokeMember("CommandBars", BindingFlags.GetProperty, null, myApplication, null);

}
catch (Exception)
{
object oActiveExplorer;
oActiveExplorer = myApplication.GetType().InvokeMember("ActiveExplorer", BindingFlags.GetProperty, null, myApplication, null);
oCommandBars = (CommandBars) oActiveExplorer.GetType().InvokeMember("CommandBars", BindingFlags.GetProperty, null, oActiveExplorer, null);

}

try
{
oStandardBar = oCommandBars["Standard"];
}
catch (Exception)
{
oStandardBar = oCommandBars["Database"];
}

try
{
MyButton = (CommandBarButton) oStandardBar.Controls["My Button"];
}
catch (Exception)
{
object omissing = System.Reflection.Missing.Value;

MyButton = (CommandBarButton) oStandardBar.Controls.Add(1, omissing, omissing, omissing, omissing);
MyButton.Caption = "My Button";
MyButton.Style = MsoButtonStyle.msoButtonCaption;
}

MyButton.Tag = "My Button";
MyButton.OnAction = "!";

MyButton.Visible = true;
MyButton.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(this.MyButton_Click);

- Burada MyButton_Click gibi bir methodda System.IO class’ını ve MailItem.SaveAs methodunu kullanarak mesajları kaydedebilirsiniz. Örneğin o an seçili mesajı kaydetmek için:

using OL= Microsoft.Office.Interop.Outlook ;
...
OL.MailItem mailItem = (OL.MailItem) myApplication.ActiveExplorer().Selection[1];
MailItem.SaveAs ...


Bir hatırlatma… Visual Studio.net 2003’de Com Add-in uygulaması oluştururken VS eski Office DLL’lerini kullanmakta. Uygulamaya başlamadan önce Referanslardan yeni COM class’ını eklemeyi unutmayın.

Son olarak Visual Studio Tools for Office 2005 ile birlikte çok daha kolay bir şekilde Office uygulamaları geliştirebeceğinizi hatırlatırım. Tabi bunun için biraz daha beklememiz gerekecek. :)