Are You Banging Your Head Against the Proverbial Wall Trying to Email Using Gmail SMTP? Don’t Despair!

.NET

It might surprise you to find out that sending email using Gmail SMTP can sometimes create an issue for developers and cause them to spend lot of time finding a solution. If you have encountered this issue, there are few important verifications required before you can resolve the problem.

1. UserDefaultCredentials = False, must always appear before Credentials = new System.Net.NetworkCredential. If you insert this below Credentials, it will clear the authentication object and wait for new authentication parameters. Add UserDefaultCredentials before supplying authentication credentials and you will solve this problem.

2. Gmail supports two PORTS for sending an email, 587 and 465. If you trying to send using System.Net.Mail, it will not work with PORT 465, because System.NET.Mail only supports Explicit SSL. You can get more details on Explicit and Implicit SSL from http://blogs.msdn.com/b/webdav_101/archive/2008/06/02/system-net-mail-with-ssl-to-authenticate-against-port-465.aspx, if you need more information. Use port 587, rather than 465 so you do not experience an error, like connection timeout etc.

3. If you have a Google premium account, e.g., name@yourdomain.com, and you don’t have enough rights to allow other applications to send email using your email ID and password, you will need to employ a 2-step verification process so that other apps can send email using your authentication. You should also consider contacting your Administrator to get permission to establish and change settings and allow other application to send email with your authentication. If premium account authentication doesn’t work try a gmail ID like this: name@gmail.com. That should do the trick.

###

Continuous Integration Ain’t What it Used to Be (With Jenkins, It’s EASIER)

In a previous article, entitled, “Continuous Integration: How to Avoid ‘Integration Hell’, we discussed the general issues and considerations of the continuous integration environment and projects. In this article, we will discuss Jenkins (previously known as Hudson), which is one of the most popular continuous integration (CI) tools, and how you can achieve Continuous Integration using this tool.
The Jenkins tool is an open source Continuous Integration tool which is written in Java, and runs in a servlet container like Apache Tomcat. It can be used to build software written in various languages such as Java, .Net, PHP, C++ etc. This open-source, free software is available under MIT License.

###

Here’s the Key to a Great Online Buying Experience for Users and Great Revenue for You!

eCommerce

The key to a great online buying experience is knowing your target audience and providing tools that enable:

  1. Users to browse and buy easily
  2. Sales to cross channels with online ordering and in-store pick-up
  3. Easy, fast online chat
  4. Reduced number of ‘abandoned sales’
  5. Mobile tools and responsive interface that are easy and fast to use
  6. Applications that work on all device screens and sizes, without diminishing the experience

###

You Can Defeat the Challenges of Mobile App Dev Security

mobile-apps-development-services

According to a global survey from CIO Strategic Marketing Services and Triangle Publishing Services, data loss and other security breaches related to mobile devices, was a real concern. When you consider Mobile Application Development services be sure you go with an IT partner who is experienced and skilled in mobile application security compliance.

###

Continuous Integration: How to Avoid ‘Integration Hell’

PDMS

If you have worked on a software development team, you will recognize these scenarios:

  1. You have a large team of engineers developing a software application. While committing the code in the repository, one of the developers forgets to commit one or two files. When other team members take the repository updates, they find problems in the code due to the missing file changes, and they have to spend a long time debugging the problems.
  2. Your engineering team is developing a software product. Your Business Analysis team needs frequent updates of the code to validate the changes or demonstrate new features to the customers. Preparing a new build and deploying it on the staging server for a BA team takes a significant amount of a developer’s valuable time.

###

I Need it ALL, I Need it NOW and I Need it to be Affordable! Sound Familiar?

offshore-outsourcing-services (2)

When I first started looking for someone who could help our business with ongoing support, special projects and, well, a little bit of everything, my manager said, “Trudy, we need an offshore development company that is dependable with a great track record, and great customer satisfaction ranking.” But, he wasn’t giving me carte blanche! He was concerned about staying within budget. “My boss isn’t going to give me any more money,” he said. “She says we should do it all with our IT staff, but you know that isn’t possible.”To top it all off, I had my own selfish needs! I wanted a company with global experience, one that could keep pace with cutting-edge technologies, mobile application development, UI design, software re-engineering and just about everything else. Right about now, you are saying, “That’s crazy. You can’t get all of that and stay within budget.”

###

No Fuss! No Muss! Implement Validation Using JSR-303 Annotations in Spring

Java-Design-and-Development

Every designer and developer knows that user input Validation is a vital part of development for any application. Since the inception of the various MVC frameworks like Struts, Spring, JSF etc., the method of implementing validation has been included in application design considerations. These frameworks set the standards for implementing validation by providing the necessary supporting classes, and certainly, having clean design for validation has its benefits with respect to application maintenance.Prior to the release of version 3.0 of Spring, validation implementation required that the validator class is registered using a Spring configuration XML file. In addition, developer had to validate the fields and ensure error registration using ValidationUtils in the validate() method of the validator class. After the introduction of annotations in Spring 3.0, implementation of validation was simpler and cleaner. Developers can reduce the code by using the Hibernate Validator framework along with Spring. As of this writing, the latest version of the Hibernate Validator Framework is 5.0, which is the reference implementation of JSR-303). The following illustrates the implementation of constraints and validation using JSR-303 annotations:

JAR Dependencies: You’ll need to put the JAR files from Hibernate Validator Framework in the application classpath, which is WEB-INF/lib in a Java Web Project. Hibernate Validator 5.0 ships with a number of various JARs. While some are optional, the following are required JARs for validation implementation.
hibernate-validator-5.1.0.Final
validation-api-1.1.0.Final
classmate-1.0.0
jboss-logging-3.1.3.GA

Annotate model properties: Once you have entered the above JARs in the classpath, you can use the annotations provided by them. The following is an example of a model class where you would need to annotate the properties with required constraints. Note how @Size and @NotEmpty are used.

###