tisdag 29 mars 2011

Sendmail med asp.net

Jag har problem med att få min applikation att sända mail och har därför sökt runt på nätet efter kloka råd. Dem ska jag nu ställa samman och testa lösningen lokalt och remote.

Först ska mailbiblioteket inkluderas.
Imports System.Net.Mail

Sedan följer den normala inledning på code behind:
Partial Class _Default Inherits System.Web.UI.Page

Mailforumuläret har en knapp som startar exekveringen av en subrutin som ha det
vanliga huvudet:
Protected Sub Send_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Send.Click

Meddelandet i formuläret tilldelas variabel Usermessage:
Dim usermessage As String = textcontent.Text

På samma sätt överförs avsändarens epostadress till variabeln UserAddress
Dim senderemailaddress As String = senderemail.Text

Skapa mailobjektet:
Dim mail As New MailMessage()

Ange avsändaradress
mail.From = New MailAddress("sender@gmail.com") 'sender ska givetvis ersättas med rätt adress

Ange mottagaradress
mail.[To].Add = New MailAddress("receiver@gmail.com") 'receiver ska givetvis ersättas med rätt adress

Ange rubrik (subject)
mail.Subject = sendersubject

Ange kopia till avsändaradressen
mail.CC.Add(senderemailaddress)

Sänd ren text, inte HTML
mail.IsBodyHtml = False

Lagra texten som ska sändas
mail.Body = usermessage

Ange SMTP-värdens adress och portnummer
Dim mailClient As New System.Net.Mail.SmtpClient("smtp.gmail.com", "587")

Ange dina inloggningsuppgifter till gmailkontot
Dim userCredential As New System.Net.NetworkCredential("användarnamn", "Lösenord")

Ange dina inloggningsuppgifter till gmailkontot
Dim userCredential As New System.Net.NetworkCredential("användarnamn", "Lösenord")

Ange SMTP-adressen igen (!!!)
mailClient.Host = "smtp.gmail.com"

Ange att standard inloggningsuppgifterna inte ska användas
mailClient.UseDefaultCredentials = False

Ange att inloggningsuppgifterna är angivna i userCredential
mailClient.Credentials = userCredential

Ange att SSL-kryptering används (krävs av gmail)
mailClient.Credentials = userCredential

Och sänd sedan meddelandet
mailClient.Send(message)

Meddela användaren att meddelandet sänt
mailClient.Send(message)

Avsluta subrutinen och klassen
End Sub
End Class


Denna kod, som är en bearbetning av kod från www.aspfree.com, fungerar när jag exekverar den lokalt, men timar ut remote. Varför?

Troligast är det att portnumret är fel. Men Stackoverflow säger liksom Aspfree att det ska vara 587. Google säger att portnr ska vara 587 alternativt 465 i en instruktion som gäller Thunderbird. Men 465 fungerar inte heller - time out. Men port 25 fungerar remote överraskande nog.

Lösningen blev alltså att ersätta
Dim mailClient As New System.Net.Mail.SmtpClient("smtp.gmail.com", "587")
med
If WebSite = "Production" Then
Portnr = "25"
Else
Portnr = "587"
End If
Dim mailClient As New System.Net.Mail.SmtpClient("smtp.gmail.com", Portnr)

torsdag 24 mars 2011

Letar efter en användbar surfplatta

Jag vill ha en surfplatta med Android och en riktigt bra 10-tumsskärm. Jag kommer mest använda den för att surfa och maila.

Den mest intressanta plattan är Acer Iconia 501. Android 3.0 (Honeycomb), HDMI, hörlurutgång, 2 USB 2.0. LED-skärm med upplösningen 1280x800 punkter. Två kameror med 5 resp 2 megapixlar för foto och video, A-GPS. Mikrofon och högtalare.

Kommunikationen består av 3G, Bluetooth, EDGE, Wifi och stöd för IP-telefoni (utan stöd för röstsamtal skriver Prisjakt).

Flashminne på 32 GB och minneskortläsare.

Saknas inget? Skulle vara radiomottagning i så fall. Annars finns allt. Men priset är häftigt, från 6217 kr. Det är dock i nivå med Ipad 2 med 32 GB. Och då slipper man Apples styrande och ställande.

Fakta ovan från Prisjakt. Tabletpcreview säger att 4G-version kommer.

onsdag 23 mars 2011

Test av Firefox 4.0

Så är äntligen den omtalade FireFox 4 här. Har inte hunnit kolla så mycket men har sett en helt överlägsen hantering av bookmarks jämför med Chrome. Det är å andra sidan en av Chroms stora svagheter.

Just innan jag skriver detta hängde sig min PC när jag använde FireFox och fick starta om. Berodde det på FireFox?

En ny funktion heter "Fäst som programflik". Den är lite svår att hitta, men kanske är det naturligt efter ett tag att man ska högerklicka på fliken. Då läggs fliksymbolen längst till vänster. Men öppnar jag ett nytt FireFox-fönster finns inte symbolen. Däremot om jag stänger samtliga fönster och öppnar FireFox igen så syns symbolen i första fönstret, men inte i ytterligare fönster. Vad är logiken?

I början fanns det en "Firefox Button" - ett gult fält med textet Firefox och en dropdown allra längst upp till vänster. Denna knapp är nu försvunnen.

FireFox har "tillägg" och "insticksmoduler". Skillnaden är inte glasklar.

Det står i funktionslistan "let you discover and install add-ons without ever leaving Firefox", dvs att det inte ska vara nödvändigt att starta om Firefox vid installation av tillägg. Det stämmer i alla fall inte om rättstavningsprogram.

"The Home button has been moved to the right side of the search-field" står det. Men det stämmer inte. Den finns till vänster.

Det är konstigt att man öppna ett enskilt bokmärke i ett nytt fönster, men när man vill öppna en hel grupp/mapp så blir det alltid flikar i aktuell fönster. Så dumt beter sig inte Chrome.

Switch-to-Tab fungerar inte och det är bra. Så här är det tänkt: "As you’re opening a new tab or typing in the Awesome Bar, Firefox will check to see if you already have that site open. If you do, you’ll be directed to the existing tab so you don’t open a duplicate." Men det går alltså bra att ha samma sida i flera flikar.

Intrycket så här långt är att det är en typisk huvuduppdatering "4.0" och att det kan vara bra att vänta på "4.1".

Här är Cnets recension och film:

måndag 21 mars 2011

Nu avinstallerar jag Google Cloud Connect

Det var en kul idé att helt automatiskt eller mycket enkelt kunna ladda upp Office-dokument till Google Docs. Men det visar sig att Word laddar väldigt långsamt med Google Cloud Connect. Så nu plockar jag bort det.

PureInfoTech förklarar hur man gör. Man söker upp Google Cloud Connect for Microsoft office i Kontrollpanelen/Avinstallera eller ändra ett program och klickar på Avinstallera.

Sedan tar det tid, lång tid. Klickar man igen på Google Cloud Connect for Microsoft office kommer meddelandet "Vänta tills den pågående avinstallationen eller ändringen har slutförts".

Tiden går. Avinstallationen säger att den kör. Klickar på "Google Cloud Connect"-knappen i Word och Logga ut? Stänger Word. Händer inget.

Kollar om jag kan plocka bort "Google Cloud Connect" i Word och väljer "Word-alternativ"->Tillägg. Och där syns "Google Cloud Connect" i listan som ett COM-tillägg. Programmet finns på disken: c:\Program files (x86)\Google\Connect\Office\2.0\adxloader.dll. Då det verkar som om att avinstallation via Kontrollpanelen inte fungerar så kan ett alternativ vara att ta bort (eller tv döpa om) denna fil.

Men så visar det sig att det kommit ett popupfönster som dolts av andra fönster:



Efter Ok så fungerade avinstallationen.

Tyvärr är det inte första gången jag suttit och väntat, och väntat, och väntat - också är en en dold popup som väntar på ett klick.

Men någon gång lär jag mig kanske.