Mail Gönderme – .Net MVC

Bir çok web sayfasında yer alan İletişim kısmı genellikle ziyaretçilerin site sahibine erişmesi için kullanılır. Bazı siteler iletişim sayfasında sadece lokasyon ve iletişim bilgilerini bulundururken daha kurumsal olan ziyaretçinin site sahibiyle iletişime geçmesini sağlayacak olanaklar sunmaktır. Bunun en kolay yollarından bir tanesi de mesaj/mail göndermek için alanlarının yer almasıdır. Mail gönderme kısmını iki şekilde yapabilirsiniz. İlk olarak tomail vererek outlook vb. mail uygulamalarının açılmasını sağlayarak mail gönderilmesini sağlamak. Bu seçenekte kullanıcı hem siteden çıkmış hem de mail gönderme işlemi yapıyormuş gibi olacağından tercih edilmez.  İkinci alternatif olarak koddan bir buton tetiklenmesi ile mail gönderilmesidir. Bu yazıda .Net MVC controller’da mail gönderiminin nasıl yapıldığına değineceğim.

Bu iki şekilde yapılabiliyor.

Birincisi :

var fromAddress = “sendermail@gmail.com”;
// any address where the email will be sending
var toAddress = “tomail@gmail.com”;
//Password of your gmail address
const string fromPassword = “senderpassword”;
// Passing the values and make a email formate to display
string subject = “Subject”;
string body = “From: ” + fromAddress + “\n”;
body += “Email: ” + “” + “\n”;
body += “Subject: ” + “” + “\n”;
body += “Question: \n” + “” + “\n”;
// smtp settings
var smtp = new System.Net.Mail.SmtpClient();
{
smtp.Host = “smtp.gmail.com”;
smtp.Port = 587;
smtp.EnableSsl = true;
smtp.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
smtp.Credentials = new NetworkCredential(fromAddress, fromPassword);
smtp.Timeout = 20000;
}
// Passing values to smtp object
smtp.Send(fromAddress, toAddress, subject, body);

 

İkinci seçenek ise WebMail kullanılmasıdır.

WebMail.SmtpServer = “smtp.gmail.com”;
WebMail.SmtpPort = 587;
WebMail.SmtpUseDefaultCredentials = true;
WebMail.EnableSsl = true;
WebMail.UserName = “sender@gmail.com”;
WebMail.Password = “senderpassword”;
WebMail.From = “Sender email address@gmail.com”;

//Send email
WebMail.Send(to: “tomailadress”, subject: “Subject”, body: “MailBody”, cc: “”, bcc: “”, isBodyHtml: true);

 

Bu iki şekilde mail gönderimini sağlayabilirsiniz.

 

Advertisements

Bir tarih aralığının hafta başlangıç ve bitiş tarihlerini bulma

Bugünün ait olduğu haftanın başlangıç ve bitiş tarihlerini alır. Hafta başlangıcı olarak Pazar günü bitişini de Cumartesi olarak set eder. Pazartesi başlanması isteniyorsa AddDays kullanılabilir.

DateTime Firstday = DateTime.Today.AddDays(-(int)DateTime.Today.DayOfWeek);
DateTime Endday = Firstday.AddDays(6);

Web Yazılıma Dair Kısa Notlar

ActionResult tipteki bir metoda default’ta boş string bir parametre aşağıdaki şekilde gönderilebilir. Değer gönderildiğinde parametre değeri gelen değer olarak setlenir.

Publis ActionResult MethodName(string BusinessAreaName = “” ) { }

Package console’dan bir şey indirmek/kaldırmak için
Install Package
Install-Package PackageName

Remove Nuget Package
Uninstall-Package PackageName –RemoveDependencies

Resimleri Farklı Kaydet’i Engelleme

Yazdığınız uygulamadaki resimlerin indirilmesini istemiyorsanız browser default özelliği olan sağ tıklamayla resmi kaydet, resmi farklı kaydet gibi seçenekleri engellemeniz gerekir. Bunu jquery sorgusuyla basit bir şekilde yapabilirsiniz.

Buradaki slideImage resmin olduğu divin Id’sidir.

$(document).ready(function () {
$(‘#slideImage’).bind(‘contextmenu’, function () { return false; });
});

Entity Framework

Update Model From Database doesn’t add new table from database  : Entity FrameworkTen eklemeye çalıştığınız tablo modelde görntülenmiyor ise tablo yapısı beklediği formatta olmadığı için eklemiyor olabilir. Bunun için tabloda primary key olup olmadığını kontrol edin. Eğer yoksa primary key ekleyip yeniden modeli güncelleyin. Tablo modele eklenecektir.

.Net MVC Dosya Yükleme

İlgili Linkler:

https://cmatskas.com/upload-files-in-asp-net-mvc-with-javascript-and-c/

http://forums.asp.net/t/1775264.aspx?Multiple+file+upload+with+ASP+NET+MVC

Dökümanı indirmek için :

http://stackoverflow.com/questions/3604562/download-file-of-any-type-in-asp-net-mvc-using-fileresult

http://stackoverflow.com/questions/1375486/how-to-create-file-and-return-it-via-fileresult-in-asp-net-mvc

 

Dökümanı görüntülemek için : https://code.msdn.microsoft.com/ASPNET-Document-Viewer-e7c2a39f

http://stackoverflow.com/questions/16448780/reading-and-displaying-uploaded-text-files-in-mvc

Bootstrap multiselect List Kullanımı

Responsive çoklu seçimli combolar için Bootstrap multiselect kullanılabilir.

Kullanımı :
<select id=”multiSelectArea” multiple=”multiple” title=”Seçiniz”>
<option>1 </option>
<option>2 </option>
</select>

Option seçeneklerinin veri tabanından okunması :
for (var i = 0; i < dataTable.length; i++){
$(‘#multiSelectArea’).append($(‘<option>’, {
value: result[1][i][“ValueColumn”],
text: result[1][i][“TitleColumn”]
}));
$(‘#multiSelectArea’).multiselect(‘rebuild’);

MultiSelect Attributes :
$(‘#multiSelectArea’).multiselect({
nonSelectedText: ‘Seçiniz ‘, // Default Text
nSelectedText: ‘Seçildi’, // Seçeneklerden bir tanesi seçildiğinde yazılacak text
maxHeight: 150, // Listenin yüksekliğini set eder. Scroll oluşturur.
buttonWidth: ‘150px’, // Combo’nun genişliğini set eder.
includeSelectAllOption: true, // Listedekilerin tümünün seçilmesini de seçeneklere ekler.
allSelectedText: ‘Tüm Seçenekler Seçildi’, // Tüm Seçenekler seçildiğinde combonun içinde yazacak metin.
selectAllText: ‘ Tümünü Seç’ //Tümünü Seç yazısını set eder.
});

 

https://github.com/davidstutz/bootstrap-multiselect/blob/master/index.html

 

 

Searchable List